一、说明
主要跟随花花酱的CS讲堂以及算法刷题路线走
这里有几点刷题方法上的注意点:https://www.bilibili.com/video/BV1Jb411673Z
总结如下:
- 200~300题刷2-3遍,至少100+小时的投入
- 同一类型题目一起刷,总结规律和差异
- 多看别人的(优秀)代码
- 完整的手写实现,不要copy代码,增强肌肉记忆
- 培养代码风格
- 难题基本需要是特定算法才能解,所以需要了解各种算法
二、相关资源:
《算法导论 Introduction to algorithm》
《DSACPP》
视频课程 https://next.xuetangx.com/course/THU08091002048/4215520
电子资源 https://dsa.cs.tsinghua.edu.cn/~deng/ds/dsacpp/
《剑指offer》
何海涛-电子工业出版社、
《百面机器学习》
葫芦娃-人民邮电出版社
纯中文课后答题解题思路
https://github.com/azl397985856/leetcode
动画呈现解题思路
https://github.com/MisterBooo/LeetCodeAnimation
笔记整理的水平
https://zhuanlan.zhihu.com/p/86136802
🥥azl的算法笔记
https://github.com/azl397985856/leetcode
https://leetcode-solution-leetcode-pp.gitbook.io/leetcode-solution/
🥥halfrost的算法笔记
https://books.halfrost.com/leetcode/ChapterOne/Data_Structure/
🥥高畅的刷题笔记
https://github.com/changgyhub/leetcode_101
LeetCode官网
花花酱的刷题笔记
https://space.bilibili.com/9880352
表格中的主题:
- Search (BFS/DFS) -非常考验基本功,可以优先学习
- DP -动态规划,需要一定的刷题量才能比较好掌握
- Graph -网格grid也算是 背算法模板可以解决大部分问题
- Tree -递归,左右子树求解,构建root的解
- Binary Search -
- BST -
- HashTable -
- Greedy -
- List -
- Two Pointers -
- Divide and conquer -
- Recursion -
以上基本有200+题目,按照专题刷完可以提高效率。