| 题号 | 第一遍(学习别人的解法 ) |
第二遍(默写) | 第三遍(过一天后) |
第四遍(过一周后) | 第五遍(面试前一周) |
|---|---|---|---|---|---|
| 数组(9) | |||||
| 283.移动零 | |||||
| 1.两数之和 | |||||
| 11.盛最多水得容器 | |||||
| 70.爬楼梯 | |||||
| 15.三数之和 | |||||
| 26.删除排序数组中的重复项 | |||||
| 189.旋转数组 | |||||
| 88.合并两个有序数组 | |||||
| 66.加一 |
链表(6)
- 反转链表
24. 两两交换链表中的节点
141. 环形链表
142. 环形链表 II
25. K 个⼀组翻转链表
21. 合并两个有序链表栈、队列(6 题)
- 有效的括号
155. 最⼩栈
84. 柱状图中最⼤的矩形
239. 滑动窗⼝最⼤值
641. 设计循环双端队列
42. 接⾬⽔
哈希表、映射、集合(3 题)
- 有效的字⺟异位词
49. 字⺟异位词分组
1. 两数之和
树、⼆叉树、⼆叉搜索树(5 题)
| 题号 | 第一遍(学习别人的解法 ) |
第二遍(默写) | 第三遍(过一天后) | 第四遍(过一周后) | 第五遍(面试前一周) |
|---|---|---|---|---|---|
| 94. ⼆叉树的中序遍历 | 20200910 | ||||
| 144. ⼆叉树的前序遍历 | 20200910 | ||||
| 590. N叉树的后序遍历 | 20200910 | ||||
| 589. N叉树的前序遍历 | 20200910 | ||||
| 429. N叉树的层序遍历 | 20200910 |
递归、树的递归(12 题)
- 爬楼梯
22. 括号⽣成
226. 翻转⼆叉树
98. 验证⼆叉搜索树
104. ⼆叉树的最⼤深度
111. ⼆叉树的最⼩深度
297. ⼆叉树的序列化与反序列化
236. ⼆叉树的最近公共祖先
105. 从前序与中序遍历序列构造⼆叉树
77. 组合
46. 全排列
47. 全排列 II
分治、回溯(5 题)
- Pow(x, n)
78. ⼦集
17. 电话号码的字⺟组合
169. 多数元素
51. N皇后DFS、BFS(8 题)
- ⼆叉树的层序遍历
433. 最⼩基因变化
22. 括号⽣成
515. 在每个树⾏中找最⼤值
127. 单词接⻰
126. 单词接⻰ II
529. 扫雷游戏
200. 岛屿数量贪⼼算法(7 题)
- 零钱兑换
860. 柠檬⽔找零
122. 买卖股票的最佳时机 II
455. 分发饼⼲
874. 模拟⾏⾛机器⼈
55. 跳跃游戏
45. 跳跃游戏 II
⼆分查找(5 题)
- x 的平⽅根
367. 有效的完全平⽅数
33. 搜索旋转排序数组
74. 搜索⼆维矩阵
153. 寻找旋转排序数组中的最⼩值
动态规划(DP)(29 题)
- 不同路径
63. 不同路径 II
1143. 最⻓公共⼦序列
70. 爬楼梯
53. 最⼤⼦序和
152. 乘积最⼤⼦数组
322. 零钱兑换
198. 打家劫舍
213. 打家劫舍 II
121. 买卖股票的最佳时机
122. 买卖股票的最佳时机 II
123. 买卖股票的最佳时机 III
309. 最佳买卖股票时机含冷冻期
188. 买卖股票的最佳时机 IV
714. 买卖股票的最佳时机含⼿续费
91. 解码⽅法
64. 最⼩路径和
221. 最⼤正⽅形
621. 任务调度器
647. 回⽂⼦串
32. 最⻓有效括号
72. 编辑距离
363. 矩形区域不超过 K 的最⼤数值和
403. ⻘蛙过河
410. 分割数组的最⼤值
552. 学⽣出勤记录 II
76. 最⼩覆盖⼦串
312. 戳⽓球
字典树(Trie)、并查集(6 题)
- 实现 Trie (前缀树)
102. ⼆叉树的层序遍历
212. 单词搜索 II
200. 岛屿数量
547. 朋友圈
130. 被围绕的区域
⾼级搜索(10 题)
剪枝
启发式搜索 A*(选做)
- ⼆进制矩阵中的最短路径
773. 滑动谜题
37. 解数独
红⿊树和 AVL(了解原理)
位运算(6 题)
- 位1的个数
231. 2的幂
190. 颠倒⼆进制位
51. N皇后
52. N皇后 II
338. ⽐特位计数
布隆过滤器、LRU Cache(了解原理及其实现)(1 题)
⾼级DP(9 题)(状态定义有更多的维度,DP ⽅程更加复杂)
- 爬楼梯
746. 使⽤最⼩花费爬楼梯
72. 编辑距离
300. 最⻓上升⼦序列
91. 解码⽅法
32. 最⻓有效括号
85. 最⼤矩形
115. 不同的⼦序列
818. 赛⻋
