2017年11月5日

算法分析与设计论文

摘要: 1:递归算法 程序直接或间接调用自身的编程技巧称为递归算法(Recursion)。 递归算法是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。它通常把一个大型复杂的问题转化为一个与原问题类似的规模较小的问题来求解。 递归策略只需少量的代码就可描述出解题过程所需要的多次重复计算,大大减少 阅读全文

posted @ 2017-11-05 21:54 20153868 阅读(7250) 评论(0) 推荐(0)

2017年10月18日

主元素

摘要: 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。 You may assume that the array is non-empty and the majority number always exist in the array. 给出数组[1,1,1,1,2 阅读全文

posted @ 2017-10-18 21:26 20153868 阅读(261) 评论(0) 推荐(0)

递归

摘要: 递归总结: 递归要注意两点, 一个是递归的出口,就是递归到什么时候结束,一般是递归到一个很简单的出来的答案时停止,或者是自己设置的递归出口; 第二个就是递归的关系,lintcode的题大部分都是二叉树,像二叉树的深度、遍历,这个递归就是把左右子树的根节点作为根节点,从而向下递归,直到出口。 递归有时 阅读全文

posted @ 2017-10-18 21:26 20153868 阅读(173) 评论(0) 推荐(0)

平面列表

摘要: 给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。 给定 [1,2,[1,2]],返回 [1,2,1,2]。 给定 [4,[3,[2,[1]]]],返回 [4,3,2,1]。 这个题就是保留最外面的列表,去掉其他列表,最终只剩下一个列表。 刚开始的代码: v 阅读全文

posted @ 2017-10-18 21:26 20153868 阅读(82) 评论(0) 推荐(0)

最小子数组

摘要: 给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。 给出数组[1, -1, -2, 1],返回 -3 本题是求最小子数组,并返回最小和。刚开始不理解子数组的定义,后来知道了子数组必须是连续的,然后用贪心的算法解决。 class Solution {public: /* * @param n 阅读全文

posted @ 2017-10-18 21:26 20153868 阅读(117) 评论(0) 推荐(0)

最大子数组

摘要: 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6 最大字数组,和最小字数组的代码几乎一样。 class Solution {public: /* * @param nums: A 阅读全文

posted @ 2017-10-18 21:26 20153868 阅读(54) 评论(0) 推荐(0)

二叉搜索树

摘要: 得到一个A【n】的数组,首先要找中点A【m】,然后新建一个树,根节点就是中点,左子树就是A【0】-A【m-1】;右子树就是A【m+1】-A【n-1】;然后递归左子树和右子树,直到结束。。 class Solution {public: /** * @param A: A sorted (increa 阅读全文

posted @ 2017-10-18 21:25 20153868 阅读(88) 评论(0) 推荐(0)

子树

摘要: 判断T2是否是T1的子树,分为以下几种情况: 1:T 2是空,结果必为真; 2:T1是空,结果必为假;(包括T1,T 2同为真) 3:T1,T2都不为空,判断T2的值是否等于T1的根节点的值:是→递归判断T1和T2的左右子树是否一样,直到T2结束。 否→判断T2是否和T1的左子树或者右子树一样,递归 阅读全文

posted @ 2017-10-18 21:25 20153868 阅读(211) 评论(0) 推荐(0)

二叉树的遍历

摘要: 二叉树的前序遍历,先根节点,然后左子树,最后右子树。 vector<int> v; vector<int> preorderTraversal(TreeNode * root) { // write your code here if(root!=NULL) { v.push_back(root-> 阅读全文

posted @ 2017-10-18 21:25 20153868 阅读(56) 评论(0) 推荐(0)

平衡二叉树的构造

摘要: 平衡二叉树,题目如链接。 这个题可以用前面的二叉树的深度来解决,也就是写两个函数,一个用来计算二叉树的深度,另一个判断是否是平衡二叉树;然后递归到左右子树。 class Solution {public: /* * @param root: The root of binary tree. * @r 阅读全文

posted @ 2017-10-18 21:25 20153868 阅读(1480) 评论(0) 推荐(0)

导航