Skip to content

题目分类

提示

此处相关题目编号都为 TOP 100 章节题目序号,不是力扣题目编号

1. 动态规划(dynamic programming)

需要明确:

  1. 需要记录的状态是什么
  2. 如何从一个状态转移到下一个状态(状态转移方程)

模式识别:一旦涉及子问题,可以用自顶向下递归自底向上动态规划

相关题目: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

基于 MIT 许可发布