2 数组、字符串与哈希 先把一次遍历、原地写入和区间语义写稳。 6 前 10 必须秒出 必练 最长回文子串 11 到 30 稳定拿下 前 30 两数之和 合并两个有序数组 螺旋矩阵 合并区间 字符串相加
3 双指针、窗口与栈 用边界和候选集减少重复扫描。 6 前 10 必须秒出 必练 无重复字符的最长子串 三数之和 11 到 30 稳定拿下 前 30 有效的括号 高收益补洞 补洞 接雨水 滑动窗口最大值 最小覆盖子串
4 链表与组合结构 围绕反转、快慢指针和多路合并集中训练。 9 前 10 必须秒出 必练 LRU 缓存 反转链表 K 个一组翻转链表 合并两个有序链表 11 到 30 稳定拿下 前 30 反转链表 II 合并 K 个有序链表 重排链表 环形链表 相交链表
5 排序、二分与选择 明确搜索区间、pivot 位置和方案的最坏代价。 4 前 10 必须秒出 必练 数组中的第 K 个最大元素 手写快速排序 11 到 30 稳定拿下 前 30 搜索旋转排序数组 高收益补洞 补洞 二分查找
6 树、图与递归 先定义节点状态和递归返回值,再决定 BFS 或 DFS。 6 11 到 30 稳定拿下 前 30 岛屿数量 二叉树的层序遍历 全排列 二叉树的锯齿形层序遍历 二叉树的最近公共祖先 高收益补洞 补洞 从前序与中序遍历序列构造二叉树
7 动态规划 让每个状态都能用一句完整的话解释。 5 前 10 必须秒出 必练 最大子数组和 11 到 30 稳定拿下 前 30 买卖股票的最佳时机 最长递增子序列 编辑距离 高收益补洞 补洞 零钱兑换