Day 1
704. 二分查找
题目链接:https://leetcode.cn/problems/binary-search/
文章讲解:https://programmercarl.com/0704.二分查找.html
视频讲解:https://www.bilibili.com/video/BV1fA4y1o715
补充题目
27. 移除元素
题目链接:https://leetcode.cn/problems/remove-element/
文章讲解:https://programmercarl.com/0027.移除元素.html
视频讲解:https://www.bilibili.com/video/BV12A4y1Z7LP
补充题目
977.有序数组的平方
题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/
文章讲解:https://programmercarl.com/0977.有序数组的平方.html
视频讲解: https://www.bilibili.com/video/BV1QB4y1D7ep
Day 2
1. 209.长度最小的子数组
题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/
文章讲解:https://programmercarl.com/0209.长度最小的子数组.html
视频讲解:https://www.bilibili.com/video/BV1tZ4y1q7XE
补充题目
2. 59.螺旋矩阵 II
题目建议: 本题关键还是在转圈的逻辑
题目链接:https://leetcode.cn/problems/spiral-matrix-ii/
文章讲解:https://programmercarl.com/0059.螺旋矩阵II.html
视频讲解:https://www.bilibili.com/video/BV1SL4y1N7mV/
3. 区间和
文章讲解:https://www.programmercarl.com/kamacoder/0058.区间和.html
4. 开发商购买土地
文章讲解:https://www.programmercarl.com/kamacoder/0044.开发商购买土地.html
5. 阶段一结束:数组小结
文章讲解:https://programmercarl.com/数组总结篇.html
Day 3
1. 链表理论基础
文章链接:https://programmercarl.com/链表理论基础.html
2. 203.移除链表元素
题目要求:了解链表的基本结构,区别链表和数组
题目链接:https://leetcode.cn/problems/remove-linked-list-elements/
文章链接:https://programmercarl.com/链表理论基础.html
视频讲解:https://www.bilibili.com/video/BV18B4y1s7R9
3. 707.设计链表
题目链接:https://leetcode.cn/problems/design-linked-list/
文章链接:https://programmercarl.com/0707.设计链表.html
视频讲解:https://www.bilibili.com/video/BV1FU4y1X7WD
4. 206.反转链表
题目链接:https://leetcode.cn/problems/reverse-linked-list/
文章链接:https://programmercarl.com/0206.翻转链表.html
视频讲解:https://www.bilibili.com/video/BV1nB4y1i7eL
Day 4
1. 24. 两两交换链表中的节点
题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description/
文章链接: https://programmercarl.com/0024.两两交换链表中的节点.html
视频链接:https://www.bilibili.com/video/BV1YT411g7br
2. 19.删除链表的倒数第 N 个节点
题目链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/
文章链接:https://programmercarl.com/0019.删除链表的倒数第N个节点.html
视频链接:https://www.bilibili.com/video/BV1vW4y1U7Gf
3. 面试题 02.07. 链表相交
题目链接:https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/
文章链接:https://programmercarl.com/面试题02.07.链表相交.html
4. 142.环形链表 II
题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/
文章链接:https://programmercarl.com/0142.环形链表II.html
视频讲解:https://www.bilibili.com/video/BV1if4y1d7ob
5. 阶段二结束:链表总结
文章链接:https://programmercarl.com/链表总结篇.html
Day 5
1. 哈希表理论基础
文章链接:https://programmercarl.com/哈希表理论基础.html
2. 242.有效的字母异位词
题目链接:https://leetcode.cn/problems/valid-anagram/description/
文章链接:https://programmercarl.com/0242.有效的字母异位词.html
视频讲解:https://www.bilibili.com/video/BV1YG411p7BA
3. 349. 两个数组的交集
题目链接:https://leetcode.cn/problems/intersection-of-two-arrays/
文章链接:https://programmercarl.com/0349.两个数组的交集.html
视频讲解:https://www.bilibili.com/video/BV1ba411S7wu
4. 202. 快乐数
题目链接:https://leetcode.cn/problems/happy-number/
文章链接:https://programmercarl.com/0202.快乐数.html
本题没有视频讲解
5. 1. 两数之和
题目链接:https://leetcode.cn/problems/two-sum/
文章链接:https://programmercarl.com/0001.两数之和.html#算法公开课
视频讲解:https://www.bilibili.com/video/BV1aT41177mK
Day 6
1. 454.四数相加 II
题目链接:https://leetcode.cn/problems/4sum-ii/description/
文章讲解:https://programmercarl.com/0454.四数相加II.html
视频链接:https://www.bilibili.com/video/BV1Md4y1Q7Yh
2. 383. 赎金信
题目链接:https://leetcode.cn/problems/ransom-note/
文章链接:https://programmercarl.com/0383.赎金信.html
本题没有视频讲解
3. 15. 三数之和
题目链接:https://leetcode.cn/problems/3sum/
文章链接:https://programmercarl.com/0015.三数之和.html
视频讲解:https://www.bilibili.com/video/BV1GW4y127qo
4. 18. 四数之和
题目链接:https://leetcode.cn/problems/4sum/
文章链接:https://programmercarl.com/0018.四数之和.html
视频讲解:https://www.bilibili.com/video/BV1DS4y147US
5. 阶段三结束:哈希表总结
文章链接:https://programmercarl.com/哈希表总结.html
Day 7
1. 344.反转字符串
题目链接:https://leetcode.cn/problems/reverse-string/
文章链接:https://programmercarl.com/0344.反转字符串.html
视频讲解:https://www.bilibili.com/video/BV1fV4y17748/
2. 541. 反转字符串 II
题目链接:https://leetcode.cn/problems/reverse-string-ii/
文章链接:https://programmercarl.com/0541.反转字符串II.html
视频讲解:https://www.bilibili.com/video/BV1dT411j7NN
3. 卡码网:54.替换数字
题目链接:https://kamacoder.com/problempage.php?pid=1064
文章链接:https://programmercarl.com/kamacoder/0054.替换数字.html
本题没有视频讲解
Day 8
1. 151.翻转字符串里的单词
题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/
文章链接:https://programmercarl.com/0151.翻转字符串里的单词.html
视频讲解:https://www.bilibili.com/video/BV1uT41177fX
2. 卡码网:55.右旋转字符串
题目链接:https://kamacoder.com/problempage.php?pid=1065
文章链接:https://programmercarl.com/kamacoder/0055.右旋字符串.html
本题没有视频讲解
3. 28. 实现 strStr() (本题可以跳过)
题目链接:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/
文章链接:https://programmercarl.com/0028.实现strStr.html
视频链接(KMP 理论篇):https://www.bilibili.com/video/BV1PD4y1o7nd
视频讲解(KMP 代码篇):https://www.bilibili.com/video/BV1M5411j7Xx
4. 459.重复的子字符串 (本题可以跳过)
题目链接:https://leetcode.cn/problems/repeated-substring-pattern/description/
文章链接:https://programmercarl.com/0459.重复的子字符串.html
视频讲解:https://www.bilibili.com/video/BV1cg41127fw
5. 阶段四结束:字符串总结
题目链接/文章讲解:https://programmercarl.com/字符串总结.html
双指针回顾
此时我们已经做过 10 道双指针的题目了,来一起回顾一下,大家自己也总结一下双指针的心得
文章讲解:https://programmercarl.com/双指针总结.html
Day 9
1. 栈与队列理论基础
了解一下 栈与队列的内部实现机制
文章讲解:https://programmercarl.com/栈与队列理论基础.html
2. 232.用栈实现队列
题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/description/
文章讲解:https://programmercarl.com/0232.用栈实现队列.html
视频讲解:https://www.bilibili.com/video/BV1nY4y1w7VC
3. 225. 用队列实现栈
题目链接:https://leetcode.cn/problems/implement-stack-using-queues/
文章讲解:https://programmercarl.com/0225.用队列实现栈.html
视频讲解:https://www.bilibili.com/video/BV1Fd4y1K7sm
4. 20. 有效的括号
题目链接:https://leetcode.cn/problems/valid-parentheses/description/
文章讲解:https://programmercarl.com/0020.有效的括号.html
视频讲解:https://www.bilibili.com/video/BV1AF411w78g
5. 1047. 删除字符串中的所有相邻重复项
题目链接:https://leetcode.cn/problems/remove-all-adjacent-duplicates-in-string/
文章讲解:https://programmercarl.com/1047.删除字符串中的所有相邻重复项.html
视频讲解:https://www.bilibili.com/video/BV12a411P7mw
Day 10
1. 150. 逆波兰表达式求值
题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/description/
文章讲解:https://programmercarl.com/0150.逆波兰表达式求值.html
视频讲解:https://www.bilibili.com/video/BV1kd4y1o7on
2. 239. 滑动窗口最大值
题目链接:https://leetcode.cn/problems/sliding-window-maximum/
文章讲解:https://programmercarl.com/0239.滑动窗口最大值.html
视频讲解:https://www.bilibili.com/video/BV1XS4y1p7qj
3. 347.前 K 个高频元素
题目链接:https://leetcode.cn/problems/top-k-frequent-elements/description/
文章讲解:https://programmercarl.com/0347.前K个高频元素.html
视频讲解:https://www.bilibili.com/video/BV1Xg41167Lz
4. 总结
文章链接:https://programmercarl.com/栈与队列总结.html
Day 11
1. 二叉树理论基础
文章链接:https://programmercarl.com/二叉树理论基础.html
视频讲解:https://www.bilibili.com/video/BV1Hy4y1t7ij
2. 递归遍历
题目连接
- 前序遍历:https://leetcode.cn/problems/binary-tree-preorder-traversal
- 中序遍历:https://leetcode.cn/problems/binary-tree-inorder-traversal/
- 后序遍历:https://leetcode.cn/problems/binary-tree-postorder-traversal
文章讲解:https://programmercarl.com/二叉树的递归遍历.html
视频讲解:https://www.bilibili.com/video/BV1Wh411S7xt
3. 迭代遍历
题目链接
- 前序遍历:https://leetcode.cn/problems/binary-tree-preorder-traversal
- 中序遍历:https://leetcode.cn/problems/binary-tree-inorder-traversal/
- 后序遍历:https://leetcode.cn/problems/binary-tree-postorder-traversal
文章讲解:https://programmercarl.com/二叉树的迭代遍历.html
视频讲解
- 非递归遍历(前序、后序):https://www.bilibili.com/video/BV15f4y1W7i2
- 非递归遍历(中序):https://www.bilibili.com/video/BV1Zf4y1a77g
4. 统一迭代
题目连接
- 前序遍历:https://leetcode.cn/problems/binary-tree-preorder-traversal
- 中序遍历:https://leetcode.cn/problems/binary-tree-inorder-traversal/
- 后序遍历:https://leetcode.cn/problems/binary-tree-postorder-traversal
文章讲解:https://programmercarl.com/二叉树的统一迭代法.html
5. 层序遍历
题目链接
- 102. 二叉树的层序遍历
- 107. 二叉树的层次遍历 II
- 199. 二叉树的右视图
- 637. 二叉树的层平均值
- 429. N 叉树的层序遍历
- 515. 在每个树行中找最大值
- 116. 填充每个节点的下一个右侧节点指针
- 117. 填充每个节点的下一个右侧节点指针 II
- 104. 二叉树的最大深度
- 111. 二叉树的最小深度
文章讲解:https://programmercarl.com/0102.二叉树的层序遍历.html
视频讲解:https://www.bilibili.com/video/BV1GY4y1u7b2
Day 12
226.翻转二叉树
题目链接:https://leetcode.cn/problems/invert-binary-tree
文章讲解:https://programmercarl.com/0226.翻转二叉树.html
视频讲解:https://www.bilibili.com/video/BV1sP4y1f7q7
101. 对称二叉树
题目链接:https://leetcode.cn/problems/symmetric-tree/
文章讲解:https://programmercarl.com/0101.对称二叉树.html
视频讲解:https://www.bilibili.com/video/BV1ue4y1Y7Mf
补充题目
- 100 相同的树:https://leetcode.cn/problems/same-tree
- 572 另一颗树的子树:https://leetcode.cn/problems/subtree-of-another-tree
104.二叉树的最大深度
题目链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/
文章讲解: https://programmercarl.com/0104.二叉树的最大深度.html
视频讲解:https://www.bilibili.com/video/BV1Gd4y1V75u
111.二叉树的最小深度
题目链接:https://leetcode.cn/problems/minimum-depth-of-binary-tree
文章讲解:https://programmercarl.com/0111.二叉树的最小深度.html
视频讲解:https://www.bilibili.com/video/BV1QD4y1B7e2
Day 13
110.平衡二叉树
题目链接:https://leetcode.cn/problems/balanced-binary-tree/
文章讲解:https://programmercarl.com/0110.平衡二叉树.html
视频讲解:https://www.bilibili.com/video/BV1Ug411S7my
257. 二叉树的所有路径
题目链接:https://leetcode.cn/problems/binary-tree-paths
文章讲解:https://programmercarl.com/0257.二叉树的所有路径.html
视频讲解:https://www.bilibili.com/video/BV1ZG411G7Dh
404.左叶子之和
题目链接:https://leetcode.cn/problems/sum-of-left-leaves
文章讲解:https://programmercarl.com/0404.左叶子之和.html
视频讲解:https://www.bilibili.com/video/BV1GY4y1K7z8
222.完全二叉树的节点个数
题目链接:https://leetcode.cn/problems/count-complete-tree-nodes
文章讲解:https://programmercarl.com/0222.完全二叉树的节点个数.html
视频讲解:https://www.bilibili.com/video/BV1eW4y1B7pD
Day 14
14. 找树左下角的值
题目链接:https://leetcode.cn/problems/find-bottom-left-tree-value
文章讲解:https://programmercarl.com/0513.找树左下角的值.html
视频讲解:https://www.bilibili.com/video/BV1424y1Z7pn
112. 路径总和
题目连接:https://leetcode.cn/problems/path-sum
文章讲解:https://programmercarl.com/0112.路径总和.html
视频讲解:https://www.bilibili.com/video/BV19t4y1L7CR
113. 路径总和 ii
题目链接:https://leetcode.cn/problems/path-sum-ii
106.从中序与后序遍历序列构造二叉树
题目链接:https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal
文章讲解:https://programmercarl.com/0106.从中序与后序遍历序列构造二叉树.html
视频讲解:https://www.bilibili.com/video/BV1vW4y1i7dn
105.从前序与中序遍历序列构造二叉树
题目链接:https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal
Day 15
654.最大二叉树
题目链接:https://leetcode.cn/problems/maximum-binary-tree/description
文章讲解:https://programmercarl.com/0654.最大二叉树.html
视频讲解:https://www.bilibili.com/video/BV1MG411G7ox
617.合并二叉树
题目链接:https://leetcode.cn/problems/merge-two-binary-trees
文章讲解:https://programmercarl.com/0617.合并二叉树.html
视频讲解:https://www.bilibili.com/video/BV1m14y1Y7JK
700.二叉搜索树中的搜索
题目链接:https://leetcode.cn/problems/search-in-a-binary-search-tree
文章讲解: https://programmercarl.com/0700.二叉搜索树中的搜索.html
视频讲解:https://www.bilibili.com/video/BV1wG411g7sF
98.验证二叉搜索树
题目链接:https://leetcode.cn/problems/validate-binary-search-tree
文章讲解:https://programmercarl.com/0098.验证二叉搜索树.html
视频讲解:https://www.bilibili.com/video/BV18P411n7Q4
Day 16
530.二叉搜索树的最小绝对差
题目链接:https://leetcode.cn/problems/minimum-absolute-difference-in-bst/description
文章讲解:https://programmercarl.com/0530.二叉搜索树的最小绝对差.html
视频讲解:https://www.bilibili.com/video/BV1DD4y11779
501.二叉搜索树中的众数
题目链接:https://leetcode.cn/problems/find-mode-in-binary-search-tree
文章讲解:https://programmercarl.com/0501.二叉搜索树中的众数.html
视频讲解:https://www.bilibili.com/video/BV1fD4y117gp
236. 二叉树的最近公共祖先
题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree
文章讲解:https://programmercarl.com/0236.二叉树的最近公共祖先.html
视频讲解:https://www.bilibili.com/video/BV1jd4y1B7E2
Day 17
235. 二叉搜索树的最近公共祖先
题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/description/
文章讲解:https://programmercarl.com/0235.二叉搜索树的最近公共祖先.html
视频讲解:https://www.bilibili.com/video/BV1Zt4y1F7ww
701.二叉搜索树中的插入操作
题目链接:https://leetcode.cn/problems/insert-into-a-binary-search-tree/
文章讲解:https://programmercarl.com/0701.二叉搜索树中的插入操作.html
视频讲解:https://www.bilibili.com/video/BV1Et4y1c78Y
450.删除二叉搜索树中的节点
题目链接:https://leetcode.cn/problems/delete-node-in-a-bst/
文章讲解:https://programmercarl.com/0450.删除二叉搜索树中的节点.html
视频讲解:https://www.bilibili.com/video/BV1tP41177us
Day 18
669. 修剪二叉搜索树
题目链接:https://leetcode.cn/problems/trim-a-binary-search-tree/
文章讲解:https://programmercarl.com/0669.修剪二叉搜索树.html
视频讲解: https://www.bilibili.com/video/BV17P41177ud
108.将有序数组转换为二叉搜索树
题目链接:https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree
文章讲解:https://programmercarl.com/0108.将有序数组转换为二叉搜索树.html
视频讲解:https://www.bilibili.com/video/BV1uR4y1X7qL
538.把二叉搜索树转换为累加树
题目链接:https://leetcode.cn/problems/convert-bst-to-greater-tree
文章讲解:https://programmercarl.com/0538.把二叉搜索树转换为累加树.html
视频讲解:https://www.bilibili.com/video/BV1d44y1f7wP
二叉树总结
文章链接:https://programmercarl.com/二叉树总结篇.html
Day 19
理论基础
文章讲解:https://programmercarl.com/回溯算法理论基础.html
视频讲解:https://www.bilibili.com/video/BV1cy4y167mM
77. 组合
题目链接:https://leetcode.cn/problems/combinations
文章讲解:https://programmercarl.com/0077.组合.html
视频讲解:https://www.bilibili.com/video/BV1ti4y1L7cv
剪枝操作:https://www.bilibili.com/video/BV1wi4y157er
216.组合总和 III
题目链接:https://leetcode.cn/problems/combination-sum-iii
文章讲解:https://programmercarl.com/0216.组合总和III.html
视频讲解:https://www.bilibili.com/video/BV1wg411873x
17.电话号码的字母组合
题目链接:https://leetcode.cn/problems/letter-combinations-of-a-phone-number/
文章讲解:https://programmercarl.com/0017.电话号码的字母组合.html
视频讲解:https://www.bilibili.com/video/BV1yV4y1V7Ug
Day 20
39. 组合总和
题目链接:https://leetcode.cn/problems/combination-sum
文章讲解:https://programmercarl.com/0039.组合总和.html
视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ
40.组合总和 II
题目链接:https://leetcode.cn/problems/combination-sum-ii
文章讲解:https://programmercarl.com/0040.组合总和II.html
视频讲解:https://www.bilibili.com/video/BV12V4y1V73A
131.分割回文串
题目链接:https://leetcode.cn/problems/palindrome-partitioning/description
文章讲解:https://programmercarl.com/0131.分割回文串.html
视频讲解:https://www.bilibili.com/video/BV1c54y1e7k6
Day 21
93.复原 IP 地址
题目链接:https://leetcode.cn/problems/restore-ip-addresses/
文章讲解:https://programmercarl.com/0093.复原IP地址.html
视频讲解:https://www.bilibili.com/video/BV1XP4y1U73i/
78.子集
题目链接:https://leetcode.cn/problems/subsets/
文章讲解:https://programmercarl.com/0078.子集.html
视频讲解:https://www.bilibili.com/video/BV1U84y1q7Ci
90.子集 II
题目链接:https://leetcode.cn/problems/subsets-ii/
文章讲解:https://programmercarl.com/0090.子集II.html
视频讲解:https://www.bilibili.com/video/BV1vm4y1F71J
Day 22
491.递增子序列
题目链接:https://leetcode.cn/problems/non-decreasing-subsequences/description/
文章讲解:https://programmercarl.com/0491.递增子序列.html
视频讲解:https://www.bilibili.com/video/BV1EG4y1h78v
46.全排列
题目链接:https://leetcode.cn/problems/permutations/
文章讲解:https://programmercarl.com/0046.全排列.html
视频讲解:https://www.bilibili.com/video/BV19v4y1S79W
47.全排列 II
题目链接:https://leetcode.cn/problems/permutations-ii/
文章讲解:https://programmercarl.com/0047.全排列II.html
视频讲解:https://www.bilibili.com/video/BV1R84y1i7Tm
332.重新安排行程(可跳过)
题目链接:https://leetcode.cn/problems/reconstruct-itinerary/
文章讲解:https://programmercarl.com/0332.重新安排行程.html
51.N 皇后(适当跳过)
题目链接:https://leetcode.cn/problems/n-queens/
文章讲解:https://programmercarl.com/0051.N皇后.html
视频讲解:https://www.bilibili.com/video/BV1Rd4y1c7Bq
37.解数独(适当跳过)
题目链接:https://leetcode.cn/problems/sudoku-solver/description/
文章讲解:https://programmercarl.com/0037.解数独.html
视频讲解:https://www.bilibili.com/video/BV1TW4y1471V
回溯算法总结
文章讲解:https://programmercarl.com/回溯总结.html
Day 23
理论基础
文章讲解:https://programmercarl.com/贪心算法理论基础.html
视频讲解:https://www.bilibili.com/video/BV1WK4y1R71x/?vd_source=822e86b53dab98632ef279a46d2536db
455.分发饼干
题目链接:https://leetcode.cn/problems/assign-cookies
文章讲解:https://programmercarl.com/0455.分发饼干.html
视频讲解:https://www.bilibili.com/video/BV1MM411b7cq
376. 摆动序列
题目链接:https://leetcode.cn/problems/wiggle-subsequence
文章讲解:https://programmercarl.com/0376.摆动序列.html
视频讲解:https://www.bilibili.com/video/BV17M411b7NS
53. 最大子序和
题目链接:https://leetcode.cn/problems/maximum-subarray
文章讲解:https://programmercarl.com/0053.最大子序和.html
视频讲解:https://www.bilibili.com/video/BV1aY4y1Z7ya
Day 24
122.买卖股票的最佳时机 II
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/
文章讲解:https://programmercarl.com/0122.买卖股票的最佳时机II.html
视频讲解:https://www.bilibili.com/video/BV1ev4y1C7na
55. 跳跃游戏
题目链接:https://leetcode.cn/problems/jump-game/
文章讲解:https://programmercarl.com/0055.跳跃游戏.html
视频讲解:https://www.bilibili.com/video/BV1VG4y1X7kB
45.跳跃游戏 II
题目链接:https://leetcode.cn/problems/jump-game-ii/
文章讲解:https://programmercarl.com/0045.跳跃游戏II.html
视频讲解:https://www.bilibili.com/video/BV1Y24y1r7XZ
1005.K 次取反后最大化的数组和
题目链接:https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description
文章讲解:https://programmercarl.com/1005.K次取反后最大化的数组和.html
视频讲解:https://www.bilibili.com/video/BV138411G7LY
Day 25
134. 加油站
题目链接:https://leetcode.cn/problems/gas-station/
文章讲解:https://programmercarl.com/0134.加油站.html
视频讲解:https://www.bilibili.com/video/BV1jA411r7WX
135. 分发糖果
题目链接:https://leetcode.cn/problems/candy/
文章讲解:https://programmercarl.com/0135.分发糖果.html
视频讲解:https://www.bilibili.com/video/BV1ev4y1r7wN
860.柠檬水找零
题目链接:https://leetcode.cn/problems/lemonade-change/
文章讲解:https://programmercarl.com/0860.柠檬水找零.html
视频讲解:https://www.bilibili.com/video/BV12x4y1j7DD
406.根据身高重建队列
题目链接:https://leetcode.cn/problems/queue-reconstruction-by-height/
文章讲解:https://programmercarl.com/0406.根据身高重建队列.html
视频讲解:https://www.bilibili.com/video/BV1EA411675Y
Day 26
452. 用最少数量的箭引爆气球
题目链接:https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/
文章讲解:https://programmercarl.com/0452.用最少数量的箭引爆气球.html
视频讲解:https://www.bilibili.com/video/BV1SA41167xe
435. 无重叠区间
题目链接:https://leetcode.cn/problems/non-overlapping-intervals/
文章讲解:https://programmercarl.com/0435.无重叠区间.html
视频讲解:https://www.bilibili.com/video/BV1SA41167xe
763.划分字母区间
题目链接:https://leetcode.cn/problems/partition-labels/description/
文章讲解:https://programmercarl.com/0763.划分字母区间.html
视频讲解:https://www.bilibili.com/video/BV18G4y1K7d5
Day 27
56. 合并区间
题目链接:https://leetcode.cn/problems/merge-intervals/
文章讲解:https://programmercarl.com/0056.合并区间.html
视频链接:https://www.bilibili.com/video/BV1wx4y157nD
738.单调递增的数字
题目链接:https://leetcode.cn/problems/monotone-increasing-digits/
文章讲解:https://programmercarl.com/0738.单调递增的数字.html
视频链接:https://www.bilibili.com/video/BV1Kv4y1x7tP
968.监控二叉树 (可跳过)
题目链接:https://leetcode.cn/problems/binary-tree-cameras
文章讲解:https://programmercarl.com/0968.监控二叉树.html
视频链接:https://www.bilibili.com/video/BV1SA411U75i
贪心算法总结
文章讲解:https://programmercarl.com/贪心算法总结篇.html
Day 28
理论基础
文章讲解:https://programmercarl.com/动态规划理论基础.html
视频讲解:https://www.bilibili.com/video/BV13Q4y197Wg
509. 斐波那契数
题目链接:https://leetcode.cn/problems/fibonacci-number/description
文章讲解:https://programmercarl.com/0509.斐波那契数.html
视频讲解:https://www.bilibili.com/video/BV1f5411K7mo
70. 爬楼梯
题目链接:https://leetcode.cn/problems/climbing-stairs
文章讲解:https://programmercarl.com/0070.爬楼梯.html
视频讲解:https://www.bilibili.com/video/BV17h411h7UH
746. 使用最小花费爬楼梯
题目链接:https://leetcode.cn/problems/min-cost-climbing-stairs
文章讲解:https://programmercarl.com/0746.使用最小花费爬楼梯.html
视频讲解:https://www.bilibili.com/video/BV16G411c7yZ
Day 29
62. 不同路径
题目链接:https://leetcode.cn/problems/unique-paths/description
文章讲解:https://programmercarl.com/0062.不同路径.html
视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu
63. 不同路径 II
题目链接:https://leetcode.cn/problems/unique-paths-ii/description
文章讲解:https://programmercarl.com/0063.不同路径II.html
视频讲解:https://www.bilibili.com/video/BV1Ld4y1k7c6
343. 整数拆分 (可跳过)
题目链接:https://leetcode.cn/problems/integer-break
文章讲解:https://programmercarl.com/0343.整数拆分.html
视频讲解:https://www.bilibili.com/video/BV1Mg411q7YJ
96. 不同的二叉搜索树 (可跳过)
题目链接:https://leetcode.cn/problems/unique-binary-search-trees
文章讲解:https://programmercarl.com/0096.不同的二叉搜索树.html
视频讲解:https://www.bilibili.com/video/BV1eK411o7QA
Day 30
01 背包问题 二维
题目链接:https://kamacoder.com/problempage.php?pid=1046
文章讲解:https://programmercarl.com/背包理论基础01背包-1.html
视频讲解:https://www.bilibili.com/video/BV1cg411g7Y6
01 背包问题 一维
题目链接:https://kamacoder.com/problempage.php?pid=1046
文章讲解:https://programmercarl.com/背包理论基础01背包-2.html
视频讲解:https://www.bilibili.com/video/BV1BU4y177kY
416. 分割等和子集
本题是 01 背包的应用类题目
题目链接:https://leetcode.cn/problems/partition-equal-subset-sum
文章讲解:https://programmercarl.com/0416.分割等和子集.html
视频讲解:https://www.bilibili.com/video/BV1rt4y1N7jE
Day 31
1049. 最后一块石头的重量 II
题目链接:https://leetcode.cn/problems/last-stone-weight-ii
文章讲解:https://programmercarl.com/1049.最后一块石头的重量II.html
视频讲解:https://www.bilibili.com/video/BV14M411C7oV
494. 目标和
题目链接:https://leetcode.cn/problems/target-sum/description
文章讲解:https://programmercarl.com/0494.目标和.html
视频讲解:https://www.bilibili.com/video/BV1o8411j73x
474. 一和零
题目链接:https://leetcode.cn/problems/ones-and-zeroes
文章讲解:https://programmercarl.com/0474.一和零.html
视频讲解:https://www.bilibili.com/video/BV1rW4y1x7ZQ
Day 32
完全背包
题目链接:https://kamacoder.com/problempage.php?pid=1052
文章讲解:https://programmercarl.com/背包问题理论基础完全背包.html
视频讲解:https://www.bilibili.com/video/BV1uK411o7c9
518. 零钱兑换 II
题目链接:https://leetcode.cn/problems/coin-change-ii/
文章讲解:https://programmercarl.com/0518.零钱兑换II.html
视频讲解:https://www.bilibili.com/video/BV1KM411k75j
377. 组合总和 Ⅳ
题目链接:https://leetcode.cn/problems/combination-sum-iv/
文章讲解:https://programmercarl.com/0377.组合总和Ⅳ.html
视频讲解:https://www.bilibili.com/video/BV1V14y1n7B6
70. 爬楼梯 (进阶)
题目链接:https://kamacoder.com/problempage.php?pid=1067
文章讲解:https://programmercarl.com/0070.爬楼梯完全背包版本.html
Day 33
322. 零钱兑换
题目链接:https://leetcode.cn/problems/coin-change
文章讲解:https://programmercarl.com/0322.零钱兑换.html
视频讲解:https://www.bilibili.com/video/BV14K411R7yv
279.完全平方数
题目链接:https://leetcode.cn/problems/perfect-squares
文章讲解:https://programmercarl.com/0279.完全平方数.html
视频讲解:https://www.bilibili.com/video/BV12P411T7Br
139.单词拆分
题目链接:https://leetcode.cn/problems/word-break
文章讲解:https://programmercarl.com/0139.单词拆分.html
视频讲解:https://www.bilibili.com/video/BV1pd4y147Rh
多重背包理论基础
文章讲解:https://programmercarl.com/背包问题理论基础多重背包.html
背包问题总结篇
文章讲解:https://programmercarl.com/背包总结篇.html
Day 34
198.打家劫舍
题目链接:https://leetcode.cn/problems/house-robber
文章讲解:https://programmercarl.com/0198.打家劫舍.html
视频讲解:https://www.bilibili.com/video/BV1Te411N7SX
213.打家劫舍 II
题目链接:https://leetcode.cn/problems/house-robber-ii
文章讲解:https://programmercarl.com/0213.打家劫舍II.html
视频讲解:https://www.bilibili.com/video/BV1oM411B7xq
337.打家劫舍 III
题目链接:https://leetcode.cn/problems/house-robber-iii
文章讲解:https://programmercarl.com/0337.打家劫舍III.html
视频讲解:https://www.bilibili.com/video/BV1H24y1Q7sY
Day 35
121. 买卖股票的最佳时机
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock
文章讲解:https://programmercarl.com/0121.买卖股票的最佳时机.html
视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77q
122.买卖股票的最佳时机 II
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii
文章讲解:https://programmercarl.com/0122.买卖股票的最佳时机II(动态规划).html
视频讲解:https://www.bilibili.com/video/BV1D24y1Q7Ls
123.买卖股票的最佳时机 III
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii
文章讲解:https://programmercarl.com/0123.买卖股票的最佳时机III.html
视频讲解:https://www.bilibili.com/video/BV1WG411K7AR
Day 36
188.买卖股票的最佳时机 IV
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv
文章讲解:https://programmercarl.com/0188.买卖股票的最佳时机IV.html
视频讲解:https://www.bilibili.com/video/BV16M411U7XJ
309.最佳买卖股票时机含冷冻期
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown
文章讲解:https://programmercarl.com/0309.最佳买卖股票时机含冷冻期.html
视频讲解:https://www.bilibili.com/video/BV1rP4y1D7ku
714.买卖股票的最佳时机含手续费
题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-transaction-fee
文章讲解:https://programmercarl.com/0714.买卖股票的最佳时机含手续费(动态规划).html
视频讲解:https://www.bilibili.com/video/BV1z44y1Z7UR
股票总结
文章讲解:https://programmercarl.com/动态规划-股票问题总结篇.html
Day 37
300.最长递增子序列
题目链接:https://leetcode.cn/problems/longest-increasing-subsequence
文章讲解:https://programmercarl.com/0300.最长上升子序列.html
视频讲解:https://www.bilibili.com/video/BV1ng411J7xP
674. 最长连续递增序列
题目链接:https://leetcode.cn/problems/longest-continuous-increasing-subsequence
文章讲解:https://programmercarl.com/0674.最长连续递增序列.html
视频讲解:https://www.bilibili.com/video/BV1bD4y1778v
718. 最长重复子数组
题目链接:https://leetcode.cn/problems/maximum-length-of-repeated-subarray
文章讲解:https://programmercarl.com/0718.最长重复子数组.html
视频讲解:https://www.bilibili.com/video/BV178411H7hV
Day 38
1143.最长公共子序列
题目链接:https://leetcode.cn/problems/uncrossed-lines/
文章讲解:https://programmercarl.com/1143.最长公共子序列.html
视频讲解:https://www.bilibili.com/video/BV1ye4y1L7CQ
1035.不相交的线
题目链接:https://leetcode.cn/problems/uncrossed-lines/
文章讲解:https://programmercarl.com/1035.不相交的线.html
视频讲解:https://www.bilibili.com/video/BV1h84y1x7MP
53. 最大子序和
题目链接:https://leetcode.cn/problems/maximum-subarray/
文章讲解:https://programmercarl.com/0053.最大子序和(动态规划).html
视频讲解:https://www.bilibili.com/video/BV19V4y1F7b5
392.判断子序列
题目链接:https://leetcode.cn/problems/is-subsequence/
文章讲解:https://programmercarl.com/0392.判断子序列.html
视频讲解:https://www.bilibili.com/video/BV1tv4y1B7ym
Day 39
115.不同的子序列
题目链接:https://leetcode.cn/problems/distinct-subsequences
文章讲解:https://programmercarl.com/0115.不同的子序列.html
视频链接:https://www.bilibili.com/video/BV1fG4y1m75Q
583. 两个字符串的删除操作
题目链接:https://leetcode.cn/problems/delete-operation-for-two-strings
文章讲解:https://programmercarl.com/0583.两个字符串的删除操作.html
视频链接:https://www.bilibili.com/video/BV1we4y157wB
72. 编辑距离
题目链接:https://leetcode.cn/problems/edit-distance
文章讲解:https://programmercarl.com/0072.编辑距离.html
视频链接:https://www.bilibili.com/video/BV1qv4y1q78f
编辑距离总结篇
文章讲解:https://programmercarl.com/为了绝杀编辑距离,卡尔做了三步铺垫.html
Day 40
647. 回文子串
题目链接:https://leetcode.cn/problems/palindromic-substrings
文章讲解:https://programmercarl.com/0647.回文子串.html
视频讲解:https://www.bilibili.com/video/BV17G4y1y7z9
516.最长回文子序列
题目链接:https://leetcode.cn/problems/longest-palindromic-subsequence
文章讲解:https://programmercarl.com/0516.最长回文子序列.html
视频讲解:https://www.bilibili.com/video/BV1d8411K7W6
动态规划总结篇
文章讲解:https://programmercarl.com/动态规划总结篇.html
Day 41
739. 每日温度
题目链接:https://leetcode.cn/problems/daily-temperatures
文章讲解:https://programmercarl.com/0739.每日温度.html
视频讲解:https://www.bilibili.com/video/BV1my4y1Z7jj
496.下一个更大元素 I
题目链接:https://leetcode.cn/problems/next-greater-element-i
文章讲解:https://programmercarl.com/0496.下一个更大元素I.html
视频讲解:https://www.bilibili.com/video/BV1jA411m7dX
503.下一个更大元素 II
题目链接:https://leetcode.cn/problems/next-greater-element-ii
文章讲解:https://programmercarl.com/0503.下一个更大元素II.html
视频讲解:https://www.bilibili.com/video/BV15y4y1o7Dw
Day 42
42. 接雨水
题目链接:https://leetcode.cn/problems/trapping-rain-water
文章讲解:https://programmercarl.com/0042.接雨水.html
视频讲解;https://www.bilibili.com/video/BV1uD4y1u75P
84.柱状图中最大的矩形
题目链接:https://leetcode.cn/problems/largest-rectangle-in-histogram
文章讲解:https://programmercarl.com/0084.柱状图中最大的矩形.html
视频讲解;https://www.bilibili.com/video/BV1Ns4y1o7uB
Day 43
图论理论基础
文章讲解:https://www.programmercarl.com/kamacoder/图论理论基础.html
视频讲解:https://www.bilibili.com/video/BV1hYNBeYEvb
深搜理论基础
文章讲解:https://www.programmercarl.com/kamacoder/图论深搜理论基础.html
视频讲解:https://www.bilibili.com/video/BV1hFA8eKE6C
98. 所有可达路径
题目链接:https://kamacoder.com/problempage.php?pid=1170
文章讲解:https://www.programmercarl.com/kamacoder/0098.所有可达路径.html
视频讲解:https://www.bilibili.com/video/BV1VePeepEpP
广搜理论基础
文章讲解:https://www.programmercarl.com/kamacoder/图论广搜理论基础.html
视频讲解:https://www.bilibili.com/video/BV1M19iY4EL9
Day 44
99.岛屿数量(深搜)
题目链接:https://kamacoder.com/problempage.php?pid=1171
文章讲解:https://www.programmercarl.com/kamacoder/0099.岛屿的数量深搜.html
视频讲解:https://www.bilibili.com/video/BV18PRGYcEiB
99.岛屿数量(广搜)
题目链接:https://kamacoder.com/problempage.php?pid=1171
文章讲解:https://www.programmercarl.com/kamacoder/0099.岛屿的数量广搜.html
视频讲解:https://www.bilibili.com/video/BV12QQqYWE6x
100.岛屿的最大面积
题目链接:https://kamacoder.com/problempage.php?pid=1172
文章讲解:https://www.programmercarl.com/kamacoder/0100.岛屿的最大面积.html
视频讲解:https://www.bilibili.com/video/BV1FzoyY5EXH
Day 45
101.孤岛的总面积
题目链接:https://kamacoder.com/problempage.php?pid=1173
文章讲解:https://www.programmercarl.com/kamacoder/0101.孤岛的总面积.html
视频讲解:https://www.bilibili.com/video/BV1mmZJYRESc
102.沉没孤岛
题目链接:https://kamacoder.com/problempage.php?pid=1174
文章讲解:https://www.programmercarl.com/kamacoder/0102.沉没孤岛.html
视频讲解:https://www.bilibili.com/video/BV1fjdWYyEGu
103.水流问题
题目链接:https://kamacoder.com/problempage.php?pid=1175
文章讲解:https://www.programmercarl.com/kamacoder/0103.水流问题.html
视频讲解:https://www.bilibili.com/video/BV1WNoEYrEio
104.建造最大岛屿
题目链接:https://kamacoder.com/problempage.php?pid=1176
文章讲解:https://www.programmercarl.com/kamacoder/0104.建造最大岛屿.html
视频讲解:https://www.bilibili.com/video/BV1Dn5CzZEw1
Day 46
110.字符串接龙
题目链接:https://kamacoder.com/problempage.php?pid=1183
文章讲解:https://www.programmercarl.com/kamacoder/0110.字符串接龙.html
视频链接:https://www.bilibili.com/video/BV1QEEizDEC4
105.有向图的完全可达性
题目链接:https://kamacoder.com/problempage.php?pid=1177
文章讲解:https://www.programmercarl.com/kamacoder/0105.有向图的完全可达性.html
视频链接:https://www.bilibili.com/video/BV1QRJ6ziEvJ
106.岛屿的周长
题目链接:https://kamacoder.com/problempage.php?pid=1178
文章讲解:https://www.programmercarl.com/kamacoder/0106.岛屿的周长.html
视频链接:https://www.bilibili.com/video/BV13fjczSEyV
Day 47
并查集理论基础
文章讲解:https://www.programmercarl.com/kamacoder/图论并查集理论基础.html
视频讲解:https://www.bilibili.com/video/BV1pFjUzvES2
寻找存在的路径
题目链接:https://kamacoder.com/problempage.php?pid=1179
文章讲解:https://www.programmercarl.com/kamacoder/0107.寻找存在的路径.html
视频讲解:https://www.bilibili.com/video/BV1k3T7zWEVj
Day 48
108.冗余连接
题目链接:https://kamacoder.com/problempage.php?pid=1181
文章讲解:https://www.programmercarl.com/kamacoder/0108.冗余连接.html
视频讲解:https://www.bilibili.com/video/BV1gRM3z9EwZ
109.冗余连接 II
题目链接:https://kamacoder.com/problempage.php?pid=1182
文章讲解:https://www.programmercarl.com/kamacoder/0109.冗余连接II.html
视频讲解:https://www.bilibili.com/video/BV1t2NEzaEMR
Day 49
prim 算法
题目链接:https://kamacoder.com/problempage.php?pid=1053
文章讲解:https://www.programmercarl.com/kamacoder/0053.寻宝-prim.html
视频讲解:https://www.bilibili.com/video/BV1gFKVzpExq
kruskal 算法
题目链接:https://kamacoder.com/problempage.php?pid=1053
文章讲解:https://www.programmercarl.com/kamacoder/0053.寻宝-Kruskal.html
视频讲解:https://www.bilibili.com/video/BV1GD3uz8EY4
Day 50
拓扑排序
题目链接:https://kamacoder.com/problempage.php?pid=1191
文章讲解:https://www.programmercarl.com/kamacoder/0117.软件构建.html
视频讲解:https://www.bilibili.com/video/BV1czGJzkERe
dijkstra(朴素版)
题目链接:https://kamacoder.com/problempage.php?pid=1047
文章讲解:https://www.programmercarl.com/kamacoder/0047.参会dijkstra朴素.html
视频讲解:https://www.bilibili.com/video/BV1kXuEzAEaz
Day 51
dijkstra(堆优化版)精讲
题目链接:https://kamacoder.com/problempage.php?pid=1047
文章讲解:https://www.programmercarl.com/kamacoder/0047.参会dijkstra堆.html
视频讲解:https://www.bilibili.com/video/BV1HigNz8Emt
Bellman_ford 算法精讲
题目链接:https://kamacoder.com/problempage.php?pid=1152
文章讲解:https://www.programmercarl.com/kamacoder/0094.城市间货物运输I.html
视频讲解:https://www.bilibili.com/video/BV1t48JzhEmi
Day 52
Bellman_ford 队列优化算法(又名 SPFA)
题目链接:https://kamacoder.com/problempage.php?pid=1152
文章讲解:https://www.programmercarl.com/kamacoder/0094.城市间货物运输I-SPFA.html
视频讲解:https://www.bilibili.com/video/BV1YehwzdEVT
bellman_ford 之判断负权回路
题目链接:https://kamacoder.com/problempage.php?pid=1153
文章讲解:https://www.programmercarl.com/kamacoder/0095.城市间货物运输II.html
视频讲解:https://www.bilibili.com/video/BV1EitczREi5
bellman_ford 之单源有限最短路
题目链接:https://kamacoder.com/problempage.php?pid=1154
文章讲解:https://www.programmercarl.com/kamacoder/0096.城市间货物运输III.html
视频讲解:https://www.bilibili.com/video/BV1hQtdzAEBb
Day 53
Floyd 算法
题目链接:https://kamacoder.com/problempage.php?pid=1155
文章讲解:https://www.programmercarl.com/kamacoder/0097.小明逛公园.html
视频讲解:https://www.bilibili.com/video/BV15rbzzfEWY
A * 算法 (A star 算法)
题目链接:https://kamacoder.com/problempage.php?pid=1203
文章讲解:https://www.programmercarl.com/kamacoder/0126.骑士的攻击astar.html
视频讲解:https://www.bilibili.com/video/BV15RY4zTEdh
最短路算法总结篇
文章讲解:https://www.programmercarl.com/kamacoder/最短路问题总结篇.html
