算法
梧秋
一声梧叶一声秋
展开
-
二叉树的遍历(java版)
节点的定义:Class BinaryTreeNode{ BinaryTreeNode leftchild; BinaryTreeNode rightchild; int val; BinaryTreeNode(int newval){ leftchild=null; rightchild=null; val=newval; }##...原创 2019-03-12 22:29:17 · 185 阅读 · 0 评论 -
常见的排序算法
冒泡排序(稳定排序算法,O(n²))它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针...原创 2019-03-13 12:19:17 · 132 阅读 · 0 评论 -
leetcode打家劫舍(House Robber)
1. 难度easy题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 =...原创 2019-08-03 17:42:19 · 128 阅读 · 0 评论 -
Longest Palindromic Substring(最长回文子串)
**题目:**给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解法一(暴力破解法): /** * 暴力破解法:用两层循环遍历所有的子串,判断字串是否 * 是回文串,如果是回文串就记录...原创 2019-08-06 21:28:30 · 158 阅读 · 0 评论 -
用两个队列实现栈
题目: 用两个队列模拟实现栈的push以及pop操作。解法: /** * 两个栈实现队列只需要一个用做入栈操作, * 一个用做出栈操作,而两个队列实现栈需 * 要两个队列交替使用,当一个队列有元素, * 要出栈就需要出该队列的最后一个元素,所 * 以需要先把最后一个元素之外的元素,转到 * 另一个队列。 */ pri...原创 2019-08-12 21:27:43 · 238 阅读 · 0 评论