02-超经典Python算法刷题计划
·
力扣题目列表(共174题)
| 分类 | 题目数量 | 题目列表 |
|---|---|---|
| 相向双指针(一) | 6 | 167. 两数之和 II - 输入有序数组 15. 三数之和 2824. 统计和小于目标的下标对数目 16. 最接近的三数之和 18. 四数之和 611. 有效三角形的个数 |
| 相向双指针(二) | 4 | 11. 盛最多水的容器 42. 接雨水 125. 验证回文串 2105. 给植物浇水 II |
| 滑动窗口 | 14 | 209. 长度最小的子数组 3. 无重复字符的最长子串 713. 乘积小于 K 的子数组 3090. 每个字符最多出现两次的最长子字符串 2958. 最多 K 个重复元素的最长子数组 2730. 找到最长的半重复子字符串 2779. 数组的最大美丽值 1004. 最大连续 1 的个数 III 2962. 统计最大元素出现至少 K 次的子数组 2302. 统计得分小于 K 的子数组数目 1658. 将 x 减到 0 的最小操作数 1234. 替换子串得到平衡字符串 3795. 不同元素和至少为 K 的最短子数组长度 76. 最小覆盖子串 |
| 二分查找 | 12 | 34. 在排序数组中查找元素的第一个和最后一个位置 2529. 正整数和负整数的最大计数 2300. 咒语和药水的成功对数 1385. 两个数组间的距离值 2080. 区间内查询数字的频率 2563. 统计公平数对的数目 875. 爱吃香蕉的珂珂 2187. 完成旅途的最少时间 275. H 指数 II 2861. 最大合金数 2439. 最小化数组中的最大值 2517. 礼盒的最大甜蜜度 |
| 二分查找 - 变形 | 6 | 162. 寻找峰值 153. 寻找旋转排序数组中的最小值 33. 搜索旋转排序数组 74. 搜索二维矩阵 1901. 寻找峰值 II 154. 寻找旋转排序数组中的最小值 II |
| 链表 - 反转系列 | 6 | 206. 反转链表 92. 反转链表 II 25. K 个一组翻转链表 24. 两两交换链表中的节点 445. 两数相加 II 2816. 翻倍以链表形式表示的数字 |
| 链表 - 快慢指针 | 5 | 876. 链表的中间结点 141. 环形链表 142. 环形链表 II 143. 重排链表 234. 回文链表 |
| 链表 - 删除系列 | 7 | 237. 删除链表中的节点 19. 删除链表的倒数第 N 个结点 83. 删除排序链表中的重复元素 82. 删除排序链表中的重复元素 II 203. 移除链表元素 3217. 从链表中移除在数组中存在的节点 2487. 从链表中移除节点 |
| 二叉树与递归 - 深入理解 | 7 | 104. 二叉树的最大深度 111. 二叉树的最小深度 404. 左叶子之和 112. 路径总和 129. 求根节点到叶节点数字之和 1448. 统计二叉树中好节点的数目 987. 二叉树的垂序遍历 |
| 二叉树与递归 - 灵活运用 | 8 | 100. 相同的树 101. 对称二叉树 110. 平衡二叉树 199. 二叉树的右视图 226. 翻转二叉树 617. 合并二叉树 1026. 节点与其祖先之间的最大差值 1080. 根到叶路径上的不足节点 |
| 二叉树与递归 - 前序/中序/后序 | 9 | 98. 验证二叉搜索树 938. 二叉搜索树的范围和 2476. 二叉搜索树最近节点查询 230. 二叉搜索树中第 K 小的元素 1373. 二叉搜索子树的最大键值和 105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树 889. 根据前序和后序遍历构造二叉树 1110. 删点成林 |
| 二叉树与递归 - 最近公共祖先 | 3 | 236. 二叉树的最近公共祖先 235. 二叉搜索树的最近公共祖先 1123. 最深叶节点的最近公共祖先 |
| 二叉树 - BFS | 8 | 102. 二叉树的层序遍历 103. 二叉树的锯齿形层序遍历 513. 找树左下角的值 107. 二叉树的层序遍历 II 116. 填充每个节点的下一个右侧节点指针 117. 填充每个节点的下一个右侧节点指针 II 2415. 反转二叉树的奇数层 2641. 二叉树的堂兄弟节点 II |
| 回溯 - 子集型 | 4 | 17. 电话号码的字母组合 78. 子集 131. 分割回文串 2698. 求一个整数的惩罚数 |
| 回溯 - 组合型与剪枝 | 5 | 77. 组合 216. 组合总和 III 22. 括号生成 39. 组合总和 93. 复原 IP 地址 |
| 回溯 - 排列型 | 4 | 46. 全排列 51. N 皇后 52. N 皇后 II 2850. 将石头分散到网格图的最少移动次数 |
| 动态规划 - 从记忆化搜索到递推 | 9 | 198. 打家劫舍 70. 爬楼梯 746. 使用最小花费爬楼梯 3693. 爬楼梯 II 377. 组合总和 Ⅳ 2466. 统计构造好字符串的方案数 2266. 统计打字方案数 213. 打家劫舍 II 64. 最小路径和 |
| 0-1 背包 完全背包 至多/恰好/至少 | 6 | 494. 目标和 322. 零钱兑换 2915. 和为目标值的最长子序列的长度 416. 分割等和子集 518. 零钱兑换 II 279. 完全平方数 |
| 最长公共子序列 LCS | 6 | 1143. 最长公共子序列 72. 编辑距离 712. 两个字符串的最小 ASCII 删除和 97. 交错字符串 1458. 两个子序列的最大点积 1092. 最短公共超序列 |
| 最长递增子序列 LIS | 6 | 300. 最长递增子序列 2826. 将三个组排序 1671. 得到山形数组的最少删除次数 354. 俄罗斯套娃信封问题 1626. 无矛盾的最佳球队 1187. 使数组严格递增 |
| 状态机 DP - 买卖股票系列 | 6 | 122. 买卖股票的最佳时机 II 309. 买卖股票的最佳时机含冷冻期 188. 买卖股票的最佳时机 IV 714. 买卖股票的最佳时机含手续费 2826. 将三个组排序 2786. 访问数组中的位置使分数最大 |
| 区间 DP | 6 | 516. 最长回文子序列 1039. 多边形三角剖分的最低得分 3472. 至多 K 次操作后的最长回文子序列 3040. 相同分数的最大操作数目 II 1771. 由子序列构造的最长回文串的长度 1547. 切棍子的最小成本 |
| 树形 DP - 直径系列 | 7 | 543. 二叉树的直径 124. 二叉树中的最大路径和 2246. 相邻字符不同的最长路径 687. 最长同值路径 3203. 合并两棵树后的最小直径 1617. 统计子树中城市之间最大距离 2538. 最大价值和与最小价值和的差值 |
| 树形 DP - 最大独立集 | 3 | 337. 打家劫舍 III 1377. T 秒后青蛙的位置 2646. 最小化旅行的价格总和 |
| 树形 DP - 最小支配集 | 1 | 968. 监控二叉树 |
| 单调栈 | 10 | 739. 每日温度 42. 接雨水 496. 下一个更大元素 I 503. 下一个更大元素 II 901. 股票价格跨度 1019. 链表中的下一个更大节点 1944. 队列中可以看到的人数 84. 柱状图中最大的矩形 1793. 好子数组的最大分数 85. 最大矩形 |
| 单调队列 | 6 | 239. 滑动窗口最大值 2398. 预算内的最多机器人数目 862. 和至少为 K 的最短子数组 1499. 满足不等式的最大值 1696. 跳跃游戏 VI 2944. 购买水果需要的最少金币数 |
刷题计划(3/24-4/17)
| 周次 | 天数 | 预计日期 | 星期 | 专题分类 | 题目数量 | 状态 | 核心题目列表 (题号) |
|---|---|---|---|---|---|---|---|
| W1 | Day 1 | 03-24 | 二 | 相向双指针 (一) | 6 | 167, 15, 2824, 16, 18, 611 | |
| W1 | Day 2 | 03-25 | 三 | 相向双指针 (二) + 链表 - 删除 (上) | 11 | 11, 42, 125, 2105, 237, 19, 83, 82, 203, 3217, 2487 | |
| W1 | Day 3 | 03-26 | 四 | 链表 - 反转 + 链表 - 快慢 | 11 | 206, 92, 25, 24, 445, 2816, 876, 141, 142, 143, 234 | |
| W1 | Day 4 | 03-27 | 五 | 二分查找 (基础) | 12 | 34, 2529, 2300, 1385, 2080, 2563, 875, 2187, 275, 2861, 2439, 2517 | |
| W1 | 周末 | 03-28/29 | 六/日 | 复习 & 休息 | - | 🔄 | 重做本周错题,总结双指针与二分模板 |
| W2 | Day 5 | 03-30 | 一 | 二分查找 - 变形 + 滑动窗口 (上) | 11 | 162, 153, 33, 74, 1901, 154, 209, 3, 713, 3090, 2958 | |
| W2 | Day 6 | 03-31 | 二 | 滑动窗口 (下) | 10 | 2730, 2779, 1004, 2962, 2302, 1658, 1234, 3795, 76, 239 | |
| W2 | Day 7 | 04-01 | 三 | 单调队列 + 单调栈 (上) | 11 | 2398, 862, 1499, 1696, 2944, 739, 42(复), 496, 503, 901, 1019 | |
| W2 | Day 8 | 04-02 | 四 | 单调栈 (下) + 二叉树 - BFS | 10 | 1944, 84, 1793, 85, 102, 103, 513, 107, 116, 117 | |
| W2 | Day 9 | 04-03 | 五 | 二叉树 - BFS (续) + 最近公共祖先 | 10 | 117(复), 2415, 2641, 236, 235, 1123, 104, 111, 404, 112 | |
| W2 | 周末 | 04-04/05 | 六/日 | 复习 & 休息 | - | 🔄 | 重点攻克滑动窗口与单调栈难点,整理二叉树层序遍历模板 |
| W3 | Day 10 | 04-06 | 一 | 二叉树 - 深入理解 + 灵活运用 | 12 | 129, 1448, 987, 100, 101, 110, 199, 226, 617, 1026, 1080, 98 | |
| W3 | Day 11 | 04-07 | 二 | 二叉树 - 前序/中序/后序 | 9 | 938, 2476, 230, 1373, 105, 106, 889, 1110, 98(复) | |
| W3 | Day 12 | 04-08 | 三 | 回溯 - 子集 + 回溯 - 组合 | 9 | 17, 78, 131, 2698, 77, 216, 22, 39, 93 | |
| W3 | Day 13 | 04-09 | 四 | 回溯 - 排列 + DP - 记忆化到递推 | 13 | 46, 51, 52, 2850, 198, 70, 746, 3693, 377, 2466, 2266, 213, 64 | |
| W3 | Day 14 | 04-10 | 五 | 背包问题 | 6 | 494, 322, 2915, 416, 518, 279 | |
| W3 | 周末 | 04-11/12 | 六/日 | 复习 & 休息 | - | 🔄 | 回溯算法模板总结,DP 状态转移方程推导练习 |
| W4 | Day 15 | 04-13 | 一 | LCS + LIS | 12 | 1143, 72, 712, 97, 1458, 1092, 300, 2826, 1671, 354, 1626, 1187 | |
| W4 | Day 16 | 04-14 | 二 | 状态机 DP (股票) | 6 | 122, 309, 188, 714, 2826(复), 2786 | |
| W4 | Day 17 | 04-15 | 三 | 区间 DP | 6 | 516, 1039, 3472, 3040, 1771, 1547 | |
| W4 | Day 18 | 04-16 | 四 | 树形 DP - 直径 + 独立集/支配集 | 10 | 543, 124, 2246, 687, 3203, 1617, 2538, 337, 1377, 2646, 968 | |
| W4 | Day 19 | 04-17 | 五 | 终极查漏补缺 | - | ✅ | 重刷所有标记为困难的题目 |
更多推荐


所有评论(0)