2019年3月15日 下午4:34
有价值的内容:
- 当前这份笔记的评价
- 递归的理解:
- 具体内容写在这三篇文章里,需要全打开看。
- 114-51-78
- 114. Flatten Binary Tree to Linked List
- 51. N-Queens这里突出“处理单元”的重要性,对我们设计递归函数有重要的意义
- 78. Subsets 讲解了递归和遍历的联系与区别,什么时候更适合使用递归
- 总结我重新对内容进行了分类
- 这篇文章存在的问题:
- 遍历这个概念我虽然总结的比较到位,但是遍历,他不能给你提供解决问题的思路。
- 他是我们自己提出解决思路之后,当程序实现时,我们可以把思路再拆解成各个部分,找到每个小问题的遍历对象,并转化为遍历问题。
- 因为,程序本身就是人思维的计算机实现。而分解成遍历问题就是你进行转换的技巧。
- 而薛健的课上学到的内容正好与这相反,薛健的目的主要是为了让你找到解决问题的思路,他不操心实现。
- 这篇文章存在的问题:
2018年8月20日 上午10:52
递归现在我觉的有两种思路:
- 为了达到并行的效果
- 51+78
- 为了能够将大任务==分解为=》小任务+小任务合并
- 114
递归的成立条件
统计表长度设置(哈希表长度)
C++加速IO
递归写法的不同
地牢游戏——没做,学分析的方法
53. Maximum Subarray
198. House Robber递归有递归成立的条件,dp也有自己成立的条件。递推公式要成立,但是我们一般是无法严格证明的,更多需要我们拿例子去测试我们感觉的递推公式是否正确。
76. Minimum Window Substring——没过。学会只用动态双指针遍历一个数组等各种对象,并且学会选择合适的数据结构,让一些判断等操作可以简洁明了,并且各个数据结构之间可以进行比较。
49. Group Anagrams这道题就是先统计,在统计的过程中分好类。在这道题中,sort排序绝对功不可没
199. Binary Tree Right Side View
199补充在BFS和DFS基础上进行更改。
114. Flatten Binary Tree to Linked List使用递归,将每个子树作为一个元素进行处理,自底向上的处理tree。(修改数据本身是一个表象,也正是因为他是修改数据本身,那么他就不满足递归的并行分析方法)
315. Count of Smaller Numbers After Self归并排序为模板,解决乱序问题的同时,找到累加出最后结果的方法。(这道题说明了套用模板可能遇到的问题)
51. N-Queens就是一个典型的并行问题处理
78. Subsets在递归中处理每个元素时,将问题再次转换为进栈和出栈的问题
55. Jump Game通过统计,将问题转换为另一个问题
402. Remove K Digits将问题变成一个进栈和出栈的问题
1363 — Rails将问题变成一个进栈和出栈的问题