现在的leetcode已经有3000多道题了,如果只是盲目的刷,刷了忘,忘了刷,效率其实是极其低下的。现在将leetcode母题总结出来,只需要掌握以下27道题,就可以洞见几乎所有核心算法思想,做到以不变应万变!
| 序号 | LC 题号 | 题目名 | 核心算法思想 | 所属模块 | 体系定位 |
|---|---|---|---|---|---|
| 1 | LC 1 | Two Sum | HashMap | 数组 / 哈希 | 哈希入门母题 |
| 2 | LC 283 | Move Zeroes | 双指针 | 数组 | 原地修改模板 |
| 3 | LC 448 | Find All Numbers Disappeared in an Array | 原地标记 | 数组 | 索引映射技巧 |
| 4 | LC 26 | Remove Duplicates from Sorted Array | 快慢指针 | 双指针 | 双指针母题 |
| 5 | LC 11 | Container With Most Water | 双指针 + 贪心 | 双指针 | 贪心推理题 |
| 6 | LC 3 | Longest Substring Without Repeating Characters | 滑动窗口 | 字符串 | 滑动窗口母题 |
| 7 | LC 76 | Minimum Window Substring | 滑动窗口 + 计数 | 字符串 | 滑动窗口完全体 |
| 8 | LC 567 | Permutation in String | 固定窗口 | 字符串 | 窗口变体 |
| 9 | LC 20 | Valid Parentheses | 栈 | 栈 | 栈入门 |
| 10 | LC 155 | Min Stack | 辅助栈 | 栈 / 设计 | 数据结构设计 |
| 11 | LC 739 | Daily Temperatures | 单调栈 | 栈 | 单调栈母题 |
| 12 | LC 42 | Trapping Rain Water | 单调栈 / 双指针 | 栈 | 综合难题 |
| 13 | LC 46 | Permutations | 回溯 | 回溯 | 全排列模板 |
| 14 | LC 39 | Combination Sum | 回溯 + 剪枝 | 回溯 | 选择树模型 |
| 15 | LC 78 | Subsets | 回溯 / 迭代 | 回溯 | 子集模型 |
| 16 | LC 704 | Binary Search | 二分查找 | 二分 | 二分母题 |
| 17 | LC 33 | Search in Rotated Sorted Array | 二分(局部有序) | 二分 | 二分进阶 |
| 18 | LC 70 | Climbing Stairs | DP | 动态规划 | DP 入门 |
| 19 | LC 53 | Maximum Subarray | DP(状态压缩) | 动态规划 | 最优子结构 |
| 20 | LC 300 | Longest Increasing Subsequence | DP + 贪心 + 二分 | 动态规划 | 中高级 DP |
| 21 | LC 55 | Jump Game | 贪心 | 贪心 | 贪心证明题 |
| 22 | LC 56 | Merge Intervals | 排序 + 区间 | 区间 | 区间母题 |
| 23 | LC 146 | LRU Cache | HashMap + 双向链表 | 设计 | 工程级缓存 |
| 24 | LC 200 | Number of Islands | DFS / BFS | 图 | 图论入门 |
| 25 | LC 994 | Rotting Oranges | BFS(层级) | 图 | 最短路径模型 |
| 26 | LC 215 | Kth Largest Element in an Array | 堆 / QuickSelect | 堆 | TopK 模型 |
| 27 | LC 547 | Number of Provinces | 并查集 | 图 | 连通性判断 |
刷题建议:
- 这27题反复的刷,思考不同的解法,不断优化时间复杂度和空间复杂度。
- 自认为理解透侧后,去问GPT同类型的其他题号,做自测。