diff --git a/problems/0027.移除元素.md b/problems/0027.移除元素.md index 40ee3a2e..3337d42e 100644 --- a/problems/0027.移除元素.md +++ b/problems/0027.移除元素.md @@ -444,4 +444,3 @@ public class Solution { - diff --git a/problems/0028.实现strStr.md b/problems/0028.实现strStr.md index 53b57fd5..207a047d 100644 --- a/problems/0028.实现strStr.md +++ b/problems/0028.实现strStr.md @@ -27,16 +27,16 @@ 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。 +## 算法公开课 -## 思路 - -本题是KMP 经典题目。 - -以下文字如果看不进去,可以看我的B站视频: +本题是KMP 经典题目。以下文字如果看不进去,可以看[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html),相信结合视频再看本篇题解,更有助于大家对本题的理解。 * [帮你把KMP算法学个通透!B站(理论篇)](https://www.bilibili.com/video/BV1PD4y1o7nd/) * [帮你把KMP算法学个通透!(求next数组代码篇)](https://www.bilibili.com/video/BV1M5411j7Xx) + +## 思路 + KMP的经典思想就是:**当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。** 本篇将以如下顺序来讲解KMP, @@ -1362,3 +1362,4 @@ impl Solution { + diff --git a/problems/0042.接雨水.md b/problems/0042.接雨水.md index 1f1a543b..760ebc34 100644 --- a/problems/0042.接雨水.md +++ b/problems/0042.接雨水.md @@ -28,6 +28,10 @@ * 输入:height = [4,2,0,3,2,5] * 输出:9 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[单调栈,经典来袭!LeetCode:42.接雨水](https://www.bilibili.com/video/BV1uD4y1u75P/),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + ## 思路 @@ -1029,4 +1033,3 @@ impl Solution { - diff --git a/problems/0045.跳跃游戏II.md b/problems/0045.跳跃游戏II.md index 02c8e486..fbd84866 100644 --- a/problems/0045.跳跃游戏II.md +++ b/problems/0045.跳跃游戏II.md @@ -469,4 +469,3 @@ impl Solution { - diff --git a/problems/0059.螺旋矩阵II.md b/problems/0059.螺旋矩阵II.md index 78d9385a..515c4fb5 100644 --- a/problems/0059.螺旋矩阵II.md +++ b/problems/0059.螺旋矩阵II.md @@ -744,4 +744,3 @@ end - diff --git a/problems/0062.不同路径.md b/problems/0062.不同路径.md index 985c7575..b7ce542e 100644 --- a/problems/0062.不同路径.md +++ b/problems/0062.不同路径.md @@ -559,3 +559,4 @@ public class Solution + diff --git a/problems/0063.不同路径II.md b/problems/0063.不同路径II.md index 3d243a7a..8b842858 100644 --- a/problems/0063.不同路径II.md +++ b/problems/0063.不同路径II.md @@ -739,3 +739,4 @@ object Solution { + diff --git a/problems/0084.柱状图中最大的矩形.md b/problems/0084.柱状图中最大的矩形.md index 9b76229a..47ed0f33 100644 --- a/problems/0084.柱状图中最大的矩形.md +++ b/problems/0084.柱状图中最大的矩形.md @@ -20,6 +20,10 @@ * 1 <= heights.length <=10^5 * 0 <= heights[i] <= 10^4 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[单调栈,又一次经典来袭! LeetCode:84.柱状图中最大的矩形](https://www.bilibili.com/video/BV1Ns4y1o7uB/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。 + ## 思路 本题和[42. 接雨水](https://programmercarl.com/0042.接雨水.html),是遥相呼应的两道题目,建议都要仔细做一做,原理上有很多相同的地方,但细节上又有差异,更可以加深对单调栈的理解! diff --git a/problems/0115.不同的子序列.md b/problems/0115.不同的子序列.md index d925c5de..b1de0ceb 100644 --- a/problems/0115.不同的子序列.md +++ b/problems/0115.不同的子序列.md @@ -21,6 +21,9 @@ * 0 <= s.length, t.length <= 1000 * s 和 t 由英文字母组成 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[动态规划之子序列,为了编辑距离做铺垫 | LeetCode:115.不同的子序列](https://www.bilibili.com/video/BV1fG4y1m75Q/),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 ## 思路 diff --git a/problems/0209.长度最小的子数组.md b/problems/0209.长度最小的子数组.md index 4b1d0e96..afce2646 100644 --- a/problems/0209.长度最小的子数组.md +++ b/problems/0209.长度最小的子数组.md @@ -563,4 +563,3 @@ public class Solution { - diff --git a/problems/0416.分割等和子集.md b/problems/0416.分割等和子集.md index 2b2be103..81eb4c80 100644 --- a/problems/0416.分割等和子集.md +++ b/problems/0416.分割等和子集.md @@ -4,6 +4,7 @@

参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!

+ # 416. 分割等和子集 [力扣题目链接](https://leetcode.cn/problems/partition-equal-subset-sum/) @@ -730,3 +731,4 @@ object Solution { + diff --git a/problems/0496.下一个更大元素I.md b/problems/0496.下一个更大元素I.md index 6bcafafb..f01d8333 100644 --- a/problems/0496.下一个更大元素I.md +++ b/problems/0496.下一个更大元素I.md @@ -37,6 +37,10 @@ nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位 * nums1和nums2中所有整数 互不相同 * nums1 中的所有整数同样出现在 nums2 中 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[单调栈,套上一个壳子就有点绕了| LeetCode:496.下一个更大元素](https://www.bilibili.com/video/BV1jA411m7dX/),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + ## 思路 做本题之前,建议先做一下[739. 每日温度](https://programmercarl.com/0739.每日温度.html) diff --git a/problems/0503.下一个更大元素II.md b/problems/0503.下一个更大元素II.md index d211a680..3bddd298 100644 --- a/problems/0503.下一个更大元素II.md +++ b/problems/0503.下一个更大元素II.md @@ -21,6 +21,10 @@ * 1 <= nums.length <= 10^4 * -10^9 <= nums[i] <= 10^9 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[单调栈,成环了可怎么办?LeetCode:503.下一个更大元素II](https://www.bilibili.com/video/BV15y4y1o7Dw/),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + ## 思路 @@ -294,3 +298,4 @@ impl Solution { + diff --git a/problems/0516.最长回文子序列.md b/problems/0516.最长回文子序列.md index 80927583..7df2aa3d 100644 --- a/problems/0516.最长回文子序列.md +++ b/problems/0516.最长回文子序列.md @@ -27,6 +27,10 @@ * 1 <= s.length <= 1000 * s 只包含小写英文字母 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[动态规划再显神通,LeetCode:516.最长回文子序列](https://www.bilibili.com/video/BV1d8411K7W6/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。 + ## 思路 diff --git a/problems/0647.回文子串.md b/problems/0647.回文子串.md index fdf83736..0ed49bc1 100644 --- a/problems/0647.回文子串.md +++ b/problems/0647.回文子串.md @@ -26,6 +26,10 @@ 提示:输入的字符串长度不会超过 1000 。 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[动态规划,字符串性质决定了DP数组的定义 | LeetCode:647.回文子串](https://www.bilibili.com/video/BV17G4y1y7z9/),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + ## 思路 ### 暴力解法 @@ -528,4 +532,3 @@ function expandRange(s: string, left: number, right: number): number { - diff --git a/problems/0701.二叉搜索树中的插入操作.md b/problems/0701.二叉搜索树中的插入操作.md index 511d161c..1042b5a7 100644 --- a/problems/0701.二叉搜索树中的插入操作.md +++ b/problems/0701.二叉搜索树中的插入操作.md @@ -697,4 +697,3 @@ impl Solution { - diff --git a/problems/0739.每日温度.md b/problems/0739.每日温度.md index fc1a8063..fdb11c63 100644 --- a/problems/0739.每日温度.md +++ b/problems/0739.每日温度.md @@ -17,6 +17,10 @@ 提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[单调栈,你该了解的,这里都讲了!LeetCode:739.每日温度](https://www.bilibili.com/video/BV1my4y1Z7jj/),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + ## 思路 diff --git a/problems/二叉树总结篇.md b/problems/二叉树总结篇.md index 82949543..739184bb 100644 --- a/problems/二叉树总结篇.md +++ b/problems/二叉树总结篇.md @@ -163,4 +163,3 @@ - diff --git a/problems/字符串总结.md b/problems/字符串总结.md index 5c2f0164..df4db787 100644 --- a/problems/字符串总结.md +++ b/problems/字符串总结.md @@ -128,4 +128,3 @@ KMP算法是字符串查找最重要的算法,但彻底理解KMP并不容易 - diff --git a/problems/贪心算法理论基础.md b/problems/贪心算法理论基础.md index 0b90da6a..cac29292 100644 --- a/problems/贪心算法理论基础.md +++ b/problems/贪心算法理论基础.md @@ -11,6 +11,9 @@ 贪心算法大纲 +## 算法公开课 + +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[贪心算法理论基础!](https://www.bilibili.com/video/BV1WK4y1R71x/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。 ## 什么是贪心 diff --git a/problems/面试题02.07.链表相交.md b/problems/面试题02.07.链表相交.md index 833eadca..5de9da5c 100644 --- a/problems/面试题02.07.链表相交.md +++ b/problems/面试题02.07.链表相交.md @@ -508,4 +508,3 @@ object Solution { -