题目分类
提示
此处相关题目编号都为 TOP 100 章节题目序号,不是力扣题目编号
1. 动态规划(dynamic programming)
需要明确:
- 需要记录的状态是什么
- 如何从一个状态转移到下一个状态(状态转移方程)
模式识别:一旦涉及子问题,可以用自顶向下的递归和自底向上的动态规划
相关题目:5、6、16、20、24、27、28、29
2. 双指针
思路:两个指针分别位于数组首尾,根据条件移动前后指针,直到获得结果
相关题目:8、20、31
3. 快慢指针
思路:快指针先前进 N 步,随后一起移动,直到快指针先到尾部,此时慢指针位置就是目标节点的前驱节点
关键字:倒数第 N 个
模式识别:
- 涉及列表的特殊位置,考虑快慢指针
- 要删除列表节点,找到它的前驱
相关题目:10
4. 二分搜索及其变种
关键字:排序,搜索
模式识别:
- 有序或者部分有序
相关题目:4、17、18
5. 滑动窗口(sliding-window)
相关题目:3、32
6. 回溯算法
相关题目:9、13、19、21、33、34
解题思路:
- 使用
used数组 - 使用下标进行记录
- 使用
buffer数组
7. 栈
利用栈解决问题
相关题目:11、16、20
8. 贪心算法
相关题目:24