总结篇
主要借鉴思想:
分治、双指针、数学推导、滑动窗口、前缀和等。
主要刷了10个模块:
数组:
个人认为:这一章节重点在于 分治和数组的遍历方式。
链表:
虚拟头节点的设置巧妙的将头节点的特化处理同化为所有节点的处理。
掌握 判断链表有无环以及到环入口的距离。 同时 N o d e ∗ n e , ∗ t e m p , ∗ c u r Node * ne,* temp,*cur Node∗ne,∗temp,∗cur 三个辅助指针帮助完成其他操作。
哈希表:
哈希表章节 我认为重点掌握 v e c t o r 、 m a p 、 s e t vector、map、set vector、map、set基本上够用了。
字符串:
K M P KMP KMP、双指针、
栈和队列:
这一章节我更多感觉是为之后的二叉树、单调栈打一些基础。
二叉树:
二叉树章节就开始有一些没地儿使劲儿的感觉。晕乎乎的。
想明白信息要如何传递,选择相应的遍历方式。
此外就是二叉树的调整等。
回溯:
牢记递归三部曲:参数和返回值、终止条件、单层遍历逻辑。这三点相当重要。往往解决了这三点,递归相关问题不说彻底解决,至少能想明白当前的解题思路能
不能解决问题。
贪心:
局部最优进而达到全局最优。
dp:
在这一章节待得时间最长,而且中间还有一个国庆假期。国庆长假就有些松懈了。好在后来跟上进度了。
一开始的背包问题没跟上,硬着往下啃。然后顿悟了。没理解之前同样的东西,怎么想都不明白。找到自己的误区之后就想明白了许多。醍醐灌顶的感觉。
单调栈:
单调栈我感觉主要是之前题目的一些组合,能看见一些影子。
有些话想说:
中间有过一段时间做题没有头绪,差点放弃了。但是看着打卡名单上仍有人没有放弃,最终还是坚持了下来。对那些难题看了代码手动模拟+阅读/观看他人的理解/讲解(甚至有一段时间看了讲给中学生的视频。我怎么这么菜啊)。
现在来说,我会先将问题抽象出来,
代码手动模拟+阅读/观看他人的理解/讲解(甚至有一段时间看了讲给中学生的视频。我怎么这么菜啊)。
一刷结束了,这段时间整理一下所学。