Skip to main content

规划 Roadmap

Focusing on: 滑动窗口、二分、位运算、动态规划、字符串、图论、数学、贪心、常用数据结构(前缀和、堆栈、线段树)

基础算法精讲题单 From 灵茶山艾府

视频精讲题目代码备注
相向双指针 1167. 两数之和 II - 输入有序数组代码
15. 三数之和代码包含两个优化
2824. 统计和小于目标的下标对数目代码*课后作业
16. 最接近的三数之和代码*课后作业
18. 四数之和代码*课后作业
611. 有效三角形的个数代码*课后作业
相向双指针 211. 盛最多水的容器代码
42. 接雨水代码额外讲了前后缀分解
滑动窗口209. 长度最小的子数组代码最短
3. 无重复字符的最长子串代码最长
713. 乘积小于 K 的子数组代码方案数
2958. 最多 K 个重复元素的最长子数组代码*课后作业
2730. 找到最长的半重复子字符串代码*课后作业
1004. 最大连续 1 的个数 III代码*课后作业
2962. 统计最大元素出现至少 K 次的子数组代码*课后作业
2302. 统计得分小于 K 的子数组数目代码*课后作业
1658. 将 x 减到 0 的最小操作数代码*课后作业
1234. 替换子串得到平衡字符串代码*课后作业
76. 最小覆盖子串代码*课后作业
二分查找34. 在排序数组中查找元素的第一个和最后一个位置代码三种写法
2529. 正整数和负整数的最大计数代码*课后作业
2300. 咒语和药水的成功对数代码*课后作业
2563. 统计公平数对的数目代码*课后作业
2080. 区间内查询数字的频率代码*课后作业
275. H 指数 II代码*课后作业
875. 爱吃香蕉的珂珂代码*课后作业
2187. 完成旅途的最少时间代码*课后作业
2861. 最大合金数代码*课后作业
2439. 最小化数组中的最大值代码*课后作业
2517. 礼盒的最大甜蜜度代码*课后作业
二分查找 - 变形162. 寻找峰值代码
153. 寻找旋转排序数组中的最小值代码
33. 搜索旋转排序数组代码两种方法
1901. 寻找峰值 II代码*课后作业
154. 寻找旋转排序数组中的最小值 II代码*课后作业
链表 - 反转系列206. 反转链表代码
92. 反转链表 II代码
25. K 个一组翻转链表代码
24. 两两交换链表中的节点代码*课后作业
445. 两数相加 II代码*课后作业
2816. 翻倍以链表形式表示的数字代码*课后作业
链表 - 快慢指针876. 链表的中间结点代码
141. 环形链表代码
142. 环形链表 II代码
143. 重排链表代码
链表 - 删除系列237. 删除链表中的节点代码脑筋急转弯
19. 删除链表的倒数第 N 个结点代码前后指针
83. 删除排序链表中的重复元素代码
82. 删除排序链表中的重复元素 II代码
二叉树与递归 - 深入理解104. 二叉树的最大深度代码两种方法
111. 二叉树的最小深度代码*课后作业
112. 路径总和代码*课后作业
129. 求根节点到叶节点数字之和代码*课后作业
1448. 统计二叉树中好节点的数目代码*课后作业
987. 二叉树的垂序遍历代码*课后作业
二叉树与递归 - 灵活运用100. 相同的树代码
101. 对称二叉树代码
110. 平衡二叉树代码
199. 二叉树的右视图代码
1026. 节点与其祖先之间的最大差值代码*课后作业
1080. 根到叶路径上的不足节点代码*课后作业
1110. 删点成林代码*课后作业
二叉树与递归 - 前序/中序/后序98. 验证二叉搜索树代码三种方法
938. 二叉搜索树的范围和代码*课后作业
2476. 二叉搜索树最近节点查询代码*课后作业
1373. 二叉搜索子树的最大键值和代码*课后作业
105. 从前序与中序遍历序列构造二叉树代码*课后作业
106. 从中序与后序遍历序列构造二叉树代码*课后作业
889. 根据前序和后序遍历构造二叉树代码*课后作业
二叉树与递归 - 最近公共祖先236. 二叉树的最近公共祖先代码
235. 二叉搜索树的最近公共祖先代码
1123. 最深叶节点的最近公共祖先代码*课后作业
二叉树 - BFS102. 二叉树的层序遍历代码两种写法
103. 二叉树的锯齿形层序遍历代码两种写法
513. 找树左下角的值代码
107. 二叉树的层序遍历 II代码*课后作业
116. 填充每个节点的下一个右侧节点指针代码*课后作业
117. 填充每个节点的下一个右侧节点指针 II代码*课后作业
2415. 反转二叉树的奇数层代码*课后作业
2641. 二叉树的堂兄弟节点 II代码*课后作业
回溯 - 子集型17. 电话号码的字母组合代码引入回溯概念用
78. 子集代码两种写法
131. 分割回文串代码两种写法
回溯 - 组合型与剪枝77. 组合代码两种写法
216. 组合总和 III代码两种写法
22. 括号生成代码两种写法
39. 组合总和代码*课后作业
回溯 - 排列型46. 全排列代码精确计算搜索树的节点个数
51. N 皇后代码
52. N 皇后 II代码
2850. 将石头分散到网格图的最少移动次数代码*课后作业
动态规划 - 从记忆化搜索到递推198. 打家劫舍代码包含空间优化
70. 爬楼梯代码*课后作业
746. 使用最小花费爬楼梯代码*课后作业
377. 组合总和 Ⅳ代码*课后作业
2466. 统计构造好字符串的方案数代码*课后作业
213. 打家劫舍 II代码*课后作业
0-1 背包 完全背包 至多/恰好/至少494. 目标和代码包含空间优化
322. 零钱兑换代码包含空间优化
2915. 和为目标值的最长子序列的长度代码*课后作业
416. 分割等和子集代码*课后作业
518. 零钱兑换 II代码*课后作业
最长公共子序列 LCS1143. 最长公共子序列代码包含空间优化
72. 编辑距离代码包含空间优化
最长递增子序列 LIS300. 最长递增子序列代码包括贪心二分 + 𝑂(1) 空间
1671. 得到山形数组的最少删除次数代码*课后作业
1626. 无矛盾的最佳球队代码*课后作业
状态机 DP - 买卖股票系列122. 买卖股票的最佳时机 II代码
309. 买卖股票的最佳时机含冷冻期代码
188. 买卖股票的最佳时机 IV代码变形:恰好/至少
714. 买卖股票的最佳时机含手续费代码*课后作业
区间 DP516. 最长回文子序列代码包含空间优化
1039. 多边形三角剖分的最低得分代码
1771. 由子序列构造的最长回文串的长度代码*课后作业
1000. 合并石头的最低成本代码*课后作业
树形 DP - 直径系列543. 二叉树的直径代码
124. 二叉树中的最大路径和代码
2246. 相邻字符不同的最长路径代码
687. 最长同值路径代码*课后作业
1617. 统计子树中城市之间最大距离代码*课后作业
2538. 最大价值和与最小价值和的差值代码*课后作业
树形 DP - 最大独立集337. 打家劫舍 III代码
1377. T 秒后青蛙的位置代码*课后作业
2646. 最小化旅行的价格总和代码*课后作业
树形 DP - 最小支配集968. 监控二叉树代码
单调栈739. 每日温度代码两种写法
42. 接雨水代码
901. 股票价格跨度代码*课后作业
1019. 链表中的下一个更大节点代码*课后作业
1944. 队列中可以看到的人数代码*课后作业
84. 柱状图中最大的矩形代码*课后作业
1793. 好子数组的最大分数代码*课后作业
单调队列239. 滑动窗口最大值代码
2398. 预算内的最多机器人数目代码*课后作业
862. 和至少为 K 的最短子数组代码*课后作业
1499. 满足不等式的最大值代码*课后作业
1696. 跳跃游戏 VI代码*课后作业
2944. 购买水果需要的最少金币数代码*课后作业
  1. 双指针 5
    1. 相向双指针 1 👌
    2. 相向双指针 2 👌
    3. 同向双指针 滑动窗口 👌
    4. 二分查找 👌
    5. 二分查找 - 变形 👌
  2. 链表 3
    1. 链表 - 反转系列 👌
    2. 链表 - 快慢指针 👌
    3. 链表 - 删除系列 👌
  3. 二叉树 5 👌
    1. 二叉树与递归 - 深入理解
    2. 二叉树与递归 - 灵活运用
    3. 二叉树与递归 - 前序/中序/后序
    4. 二叉树与递归 - 最近公共祖先
    5. 二叉树 - BFS
  4. 回溯 3 👌
    1. 回溯 - 子集型
    2. 回溯 - 组合型与剪枝
    3. 回溯 - 排列型
  5. 动态规划 9
    1. 动态规划 - 从记忆化搜索到递推 👌
    2. 0-1 背包 完全背包 至多/恰好/至少 👌
    3. 最长公共子序列 LCS 👌
    4. 最长递增子序列 LIS 👌
    5. 状态机 DP
    6. 区间 DP
    7. 树形 DP - 直径系列
    8. 树形 DP - 最大独立集
    9. 树形 DP - 最小支配集
  6. 单调栈 👌
  7. 单调队列

分类题单

灵茶山艾府·高质量题解精选

https://github.com/EndlessCheng/codeforces-go/blob/master/leetcode/SOLUTIONS.md

  1. 哈希表
  2. 链表
  3. 双向链表
  4. 二叉树
  5. 滑动窗口 题单
  6. 二分
  7. 技术性枚举
  8. 前后缀分解
  9. 前缀和
  10. 前缀和与哈希表
  11. 差分数组
  12. 单调栈
  13. 单调队列
  14. 有限队列栈
  15. 位运算
  16. 贡献法
  17. 动态规划 题单
  18. 数学
  19. 贪心
  20. 构造
  21. 思维题
  22. 最短路

题单

image-20240505220528468

”前缀和“很重要

image-20240505220501993

测试及对拍 Testing