历时两个月,终于完成了代码随想录的一刷(包括额外题目)。这里就这两个月的刷题历程进行简要总结。
首先,在知识积累方面,系统学习了链表及其相关的应用,比如K个节点一组翻转链表,两两交换单向链表的节点,翻转单项链表,链表成环的判断以及链表相交的入口。这其中涉及了双指针(快慢指针)的技巧,以及虚拟头节点的运用。在数组相关题目方面,运用比较多的依然是双指针的技巧。需要注意循环不变量与滑动窗口的相关应用。数组、HashSet、HashMap都可以作为哈希表来使用,哈希表适合的场景是判断一个元素是否在某个集合内出现过。栈和队列以及双端队列、优先队列(小顶堆或大顶堆:需要重写comparator比较器)的使用,需要注意这些容器的API的定义与功能。其中栈与匹配相关问题的解决有关。接下来是比较难的内容,即二叉树的应用,比如BST对应的中序遍历,对称二叉树的判断相关问题。因为这里涉及了递归,需要深入理解Carl哥讲解的递归三步曲,分析的时候可以画出递归的调用栈。这一部分需要多多复习解题思路,感觉面试的考察频率也挺高的。还有就是回溯算法,也是递归的进一步应用,与各种排列组合问题有关。动态规划部分也是一个较难掌握的知识点,同样需要深入理解Carl哥讲解的动规五部曲,对于dp数组的定义以及递推关系和初始化都需要多加练习。对于贪心模块,需要注意先进行排序,再从前往后与从后往前分别遍历并进行相应的操作这种思路。对于额外题目部分,需要注意图论部分的DFS与BFS的应用,以及并查集的合并这些逻辑的代码实现。对于二叉树,也需要注意双指针的应用。
其次,在学习习惯方面,经过这两个月的学习,我逐渐养成了书写博客的习惯。将自己所学到的知识和技巧,通过博客这一形式记录下来,可以帮助我整理各个知识点的联系,能够在脑海中形成思维框架与知识图谱,从而加深记忆,同时也方便复习。
最后,代码随想录刷题营有良好的刷题氛围,与各位志同道合的小伙伴们坚持刷题,氛围感拉满,同时有大佬答疑解惑,这对于自控能力相对较弱的小伙伴们简直太有帮助了。这让我们养成每日坚持学习与总结的习惯,感觉每天都过得很充实,不仅学习到了数据结构与算法得知识,也养成了坚持学习的习惯,这对于以后的学习生涯和职业生涯都是大有裨益的。
代码随想录一刷的完成意味着一个新的里程的开始,后面我需要温故知新,每天坚持复习与做题,保持做题的感觉,希望自己在笔试的过程中取得满意的成绩吧。
代码随想录一刷总结
于 2023-07-25 11:10:42 首次发布