diff --git a/README.md b/README.md index 3dbf2c0d..8aa93194 100644 --- a/README.md +++ b/README.md @@ -3,35 +3,22 @@ 👉 推荐 [Gitee同步](https://gitee.com/programmercarl/leetcode-master) > 1. **介绍**:本项目是一套完整的刷题计划,旨在帮助大家少走弯路,循序渐进学算法,[关注作者](#关于作者) -> 2. **PDF版本** : [「代码随想录」算法精讲 PDF 版本](https://programmercarl.com/other/algo_pdf.html) 。 -> 3. **算法公开课** : [《代码随想录》算法视频公开课](https://www.bilibili.com/video/BV1fA4y1o715) 。 -> 4. **最强八股文:**:[代码随想录知识星球精华PDF](https://www.programmercarl.com/other/kstar_baguwen.html) -> 5. **刷题顺序** : README已经将刷题顺序排好了,按照顺序一道一道刷就可以。 -> 6. **学习社区** : 一起学习打卡/面试技巧/如何选择offer/大厂内推/职场规则/简历修改/技术分享/程序人生。欢迎加入[「代码随想录」知识星球](https://programmercarl.com/other/kstar.html) 。 -> 7. **提交代码**:本项目统一使用C++语言进行讲解,但已经有Java、Python、Go、JavaScript等等多语言版本,感谢[这里的每一位贡献者](https://github.com/youngyangyang04/leetcode-master/graphs/contributors),如果你也想贡献代码点亮你的头像,[点击这里](https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A)了解提交代码的方式。 -> 8. **转载须知** :以下所有文章皆为我([程序员Carl](https://github.com/youngyangyang04))的原创。引用本项目文章请注明出处,发现恶意抄袭或搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境! +> 2. **正式出版** :[《代码随想录》](https://programmercarl.com/other/publish.html) 。 +> 3. **PDF版本** : [「代码随想录」算法精讲 PDF 版本](https://programmercarl.com/other/algo_pdf.html) 。 +> 4. **算法公开课** : [《代码随想录》算法视频公开课](https://www.bilibili.com/video/BV1fA4y1o715) 。 +> 5. **最强八股文:**:[代码随想录知识星球精华PDF](https://www.programmercarl.com/other/kstar_baguwen.html) +> 6. **刷题顺序** : README已经将刷题顺序排好了,按照顺序一道一道刷就可以。 +> 7. **学习社区** : 一起学习打卡/面试技巧/如何选择offer/大厂内推/职场规则/简历修改/技术分享/程序人生。欢迎加入[「代码随想录」知识星球](https://programmercarl.com/other/kstar.html) 。 +> 8. **提交代码**:本项目统一使用C++语言进行讲解,但已经有Java、Python、Go、JavaScript等等多语言版本,感谢[这里的每一位贡献者](https://github.com/youngyangyang04/leetcode-master/graphs/contributors),如果你也想贡献代码点亮你的头像,[点击这里](https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A)了解提交代码的方式。 +> 9. **转载须知** :以下所有文章皆为我([程序员Carl](https://github.com/youngyangyang04))的原创。引用本项目文章请注明出处,发现恶意抄袭或搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境! +
-
-
-
-
-
《代码随想录》正式出版啦!!录友专属福利,点击下方可以享五折优惠!详细可以点击这里
- - - # LeetCode 刷题攻略 ## 刷题攻略的背景 diff --git a/pics/网站星球宣传海报.jpg b/pics/网站星球宣传海报.jpg new file mode 100644 index 00000000..b0325d87 Binary files /dev/null and b/pics/网站星球宣传海报.jpg differ diff --git a/pics/训练营.png b/pics/训练营.png new file mode 100644 index 00000000..34433d7b Binary files /dev/null and b/pics/训练营.png differ diff --git a/problems/0001.两数之和.md b/problems/0001.两数之和.md index bc618c15..acf2a995 100644 --- a/problems/0001.两数之和.md +++ b/problems/0001.两数之和.md @@ -1,6 +1,6 @@参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -433,5 +433,7 @@ int* twoSum(int* nums, int numsSize, int target, int* returnSize){ return NULL; } ``` ------------------------ -
+
+
+
diff --git a/problems/0005.最长回文子串.md b/problems/0005.最长回文子串.md
index a76e5765..62c2cbde 100644
--- a/problems/0005.最长回文子串.md
+++ b/problems/0005.最长回文子串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -615,5 +615,7 @@ char * longestPalindrome(char * s){ } ``` ------------------------ -
+
+
+
diff --git a/problems/0015.三数之和.md b/problems/0015.三数之和.md
index a4b6b84d..fb289d54 100644
--- a/problems/0015.三数之和.md
+++ b/problems/0015.三数之和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -866,5 +866,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0017.电话号码的字母组合.md b/problems/0017.电话号码的字母组合.md
index 5778e903..dd820a39 100644
--- a/problems/0017.电话号码的字母组合.md
+++ b/problems/0017.电话号码的字母组合.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -632,5 +632,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0018.四数之和.md b/problems/0018.四数之和.md
index ea7502b1..463eaf8f 100644
--- a/problems/0018.四数之和.md
+++ b/problems/0018.四数之和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -613,5 +613,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0019.删除链表的倒数第N个节点.md b/problems/0019.删除链表的倒数第N个节点.md
index f84e334e..314c396e 100644
--- a/problems/0019.删除链表的倒数第N个节点.md
+++ b/problems/0019.删除链表的倒数第N个节点.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -366,5 +366,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0020.有效的括号.md b/problems/0020.有效的括号.md
index 3c7da61b..3d986a82 100644
--- a/problems/0020.有效的括号.md
+++ b/problems/0020.有效的括号.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -493,5 +493,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0024.两两交换链表中的节点.md b/problems/0024.两两交换链表中的节点.md
index d65d0bca..50775cdd 100644
--- a/problems/0024.两两交换链表中的节点.md
+++ b/problems/0024.两两交换链表中的节点.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -426,5 +426,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0027.移除元素.md b/problems/0027.移除元素.md
index 33e0c8c1..e1de7243 100644
--- a/problems/0027.移除元素.md
+++ b/problems/0027.移除元素.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -391,5 +391,7 @@ public class Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0028.实现strStr.md b/problems/0028.实现strStr.md
index 84ce7750..7078738e 100644
--- a/problems/0028.实现strStr.md
+++ b/problems/0028.实现strStr.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -1299,5 +1299,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0031.下一个排列.md b/problems/0031.下一个排列.md
index fbea1c19..88fbb2fc 100644
--- a/problems/0031.下一个排列.md
+++ b/problems/0031.下一个排列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -267,5 +267,7 @@ var nextPermutation = function(nums) { ``` ------------------------ -
+
+
+
diff --git a/problems/0034.在排序数组中查找元素的第一个和最后一个位置.md b/problems/0034.在排序数组中查找元素的第一个和最后一个位置.md
index 31ed4f7f..dc6833f6 100644
--- a/problems/0034.在排序数组中查找元素的第一个和最后一个位置.md
+++ b/problems/0034.在排序数组中查找元素的第一个和最后一个位置.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -681,5 +681,7 @@ class Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0035.搜索插入位置.md b/problems/0035.搜索插入位置.md
index cd2c88eb..dd15b36b 100644
--- a/problems/0035.搜索插入位置.md
+++ b/problems/0035.搜索插入位置.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -481,5 +481,7 @@ int searchInsert(int* nums, int numsSize, int target){ } ``` ------------------------ -
+
+
+
diff --git a/problems/0037.解数独.md b/problems/0037.解数独.md
index 8b196890..f1f621ed 100644
--- a/problems/0037.解数独.md
+++ b/problems/0037.解数独.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -743,5 +743,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0039.组合总和.md b/problems/0039.组合总和.md
index d9aa3785..4e1df6c7 100644
--- a/problems/0039.组合总和.md
+++ b/problems/0039.组合总和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -561,5 +561,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0040.组合总和II.md b/problems/0040.组合总和II.md
index 417f4a6d..46b33c89 100644
--- a/problems/0040.组合总和II.md
+++ b/problems/0040.组合总和II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -765,5 +765,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0042.接雨水.md b/problems/0042.接雨水.md
index 448d6d51..e8dd3690 100644
--- a/problems/0042.接雨水.md
+++ b/problems/0042.接雨水.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -904,5 +904,7 @@ int trap(int* height, int heightSize) { * 空间复杂度 O(1) ------------------------ -
+
+
+
diff --git a/problems/0045.跳跃游戏II.md b/problems/0045.跳跃游戏II.md
index 59e30df5..5e06490a 100644
--- a/problems/0045.跳跃游戏II.md
+++ b/problems/0045.跳跃游戏II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -440,5 +440,7 @@ impl Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0046.全排列.md b/problems/0046.全排列.md
index 5a4ff154..805bc457 100644
--- a/problems/0046.全排列.md
+++ b/problems/0046.全排列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -517,5 +517,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0047.全排列II.md b/problems/0047.全排列II.md
index 2c3f579f..bac30a44 100644
--- a/problems/0047.全排列II.md
+++ b/problems/0047.全排列II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -494,5 +494,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0051.N皇后.md b/problems/0051.N皇后.md
index 18b77951..83d0cd94 100644
--- a/problems/0051.N皇后.md
+++ b/problems/0051.N皇后.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -806,5 +806,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0052.N皇后II.md b/problems/0052.N皇后II.md
index d39e9f2a..f1edd281 100644
--- a/problems/0052.N皇后II.md
+++ b/problems/0052.N皇后II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -257,5 +257,7 @@ int totalNQueens(int n){ } ``` ------------------------ -
+
+
+
diff --git a/problems/0053.最大子序和.md b/problems/0053.最大子序和.md
index 17b9d31e..665710a9 100644
--- a/problems/0053.最大子序和.md
+++ b/problems/0053.最大子序和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -369,5 +369,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0053.最大子序和(动态规划).md b/problems/0053.最大子序和(动态规划).md
index 23d23400..e222a3c4 100644
--- a/problems/0053.最大子序和(动态规划).md
+++ b/problems/0053.最大子序和(动态规划).md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -237,5 +237,7 @@ function maxSubArray(nums: number[]): number { ``` ------------------------ -
+
+
+
diff --git a/problems/0054.螺旋矩阵.md b/problems/0054.螺旋矩阵.md
index aeb8e521..858741d0 100644
--- a/problems/0054.螺旋矩阵.md
+++ b/problems/0054.螺旋矩阵.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -201,5 +201,7 @@ class Solution { ------------------------ -
+
+
+
diff --git a/problems/0055.跳跃游戏.md b/problems/0055.跳跃游戏.md
index f2bcedcc..23357f21 100644
--- a/problems/0055.跳跃游戏.md
+++ b/problems/0055.跳跃游戏.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -255,5 +255,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0056.合并区间.md b/problems/0056.合并区间.md
index 26a8010d..2ff37372 100644
--- a/problems/0056.合并区间.md
+++ b/problems/0056.合并区间.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -355,5 +355,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0059.螺旋矩阵II.md b/problems/0059.螺旋矩阵II.md
index 0d093983..78336d5a 100644
--- a/problems/0059.螺旋矩阵II.md
+++ b/problems/0059.螺旋矩阵II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -623,5 +623,7 @@ public class Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0062.不同路径.md b/problems/0062.不同路径.md
index 79e49b87..ad5c6f3e 100644
--- a/problems/0062.不同路径.md
+++ b/problems/0062.不同路径.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -472,5 +472,7 @@ public class Solution ------------------------ -
+
+
+
diff --git a/problems/0063.不同路径II.md b/problems/0063.不同路径II.md
index f78995e9..547eb9f8 100644
--- a/problems/0063.不同路径II.md
+++ b/problems/0063.不同路径II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -567,5 +567,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0070.爬楼梯.md b/problems/0070.爬楼梯.md
index 903e8d58..3acc4c11 100644
--- a/problems/0070.爬楼梯.md
+++ b/problems/0070.爬楼梯.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -445,5 +445,7 @@ public class Solution { ------------------------ -
+
+
+
diff --git a/problems/0070.爬楼梯完全背包版本.md b/problems/0070.爬楼梯完全背包版本.md
index 28439e09..4925c312 100644
--- a/problems/0070.爬楼梯完全背包版本.md
+++ b/problems/0070.爬楼梯完全背包版本.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:以前我没得选,现在我选择再爬一次! @@ -224,5 +224,7 @@ function climbStairs(n: number): number { ------------------------ -
+
+
+
diff --git a/problems/0072.编辑距离.md b/problems/0072.编辑距离.md
index df57b5b8..408f1d7c 100644
--- a/problems/0072.编辑距离.md
+++ b/problems/0072.编辑距离.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -390,5 +390,7 @@ int minDistance(char * word1, char * word2){ } ``` ------------------------ -
+
+
+
diff --git a/problems/0077.组合.md b/problems/0077.组合.md
index 9c473bdd..dabd2e8c 100644
--- a/problems/0077.组合.md
+++ b/problems/0077.组合.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -25,9 +25,13 @@ [1,4], ] -也可以直接看我的B站视频:[带你学透回溯算法-组合问题(对应力扣题目:77.组合)](https://www.bilibili.com/video/BV1ti4y1L7cv#reply3733925949) +# 算法公开课 -## 思路 + +**《代码随想录》算法视频公开课:[带你学透回溯算法-组合问题(对应力扣题目:77.组合)](https://www.bilibili.com/video/BV1ti4y1L7cv),[组合问题的剪枝操作](https://www.bilibili.com/video/BV1wi4y157er),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + + +# 思路 本题这是回溯法的经典题目。 @@ -122,7 +126,7 @@ vector
+
+
+
diff --git a/problems/0077.组合优化.md b/problems/0077.组合优化.md
index b8b5f3c1..91c7ce3b 100644
--- a/problems/0077.组合优化.md
+++ b/problems/0077.组合优化.md
@@ -1,17 +1,17 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
+# 77.组合优化 +**《代码随想录》算法视频公开课:[组合问题的剪枝操作](https://www.bilibili.com/video/BV1wi4y157er),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 在[回溯算法:求组合问题!](https://programmercarl.com/0077.组合.html)中,我们通过回溯搜索法,解决了n个数中求k个数的组合问题。 -> 可以直接看我的B栈视频讲解:[带你学透回溯算法-组合问题的剪枝操作](https://www.bilibili.com/video/BV1wi4y157er) - 文中的回溯法是可以剪枝优化的,本篇我们继续来看一下题目77. 组合。 链接:https://leetcode.cn/problems/combinations/ @@ -84,9 +84,11 @@ for (int i = startIndex; i <= n; i++) { 1. 已经选择的元素个数:path.size(); -2. 还需要的元素个数为: k - path.size(); +2. 所需需要的元素个数为: k - path.size(); -3. 在集合n中至多要从该起始位置 : n - (k - path.size()) + 1,开始遍历 +3. 列表中剩余元素(n-i) >= 所需需要的元素个数(k - path.size()) + +4. 在集合n中至多要从该起始位置 : i <= n - (k - path.size()) + 1,开始遍历 为什么有个+1呢,因为包括起始位置,我们要是一个左闭的集合。 @@ -401,5 +403,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0078.子集.md b/problems/0078.子集.md
index a9ffd696..e271a96f 100644
--- a/problems/0078.子集.md
+++ b/problems/0078.子集.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -448,5 +448,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0084.柱状图中最大的矩形.md b/problems/0084.柱状图中最大的矩形.md
index 144b4027..220b096e 100644
--- a/problems/0084.柱状图中最大的矩形.md
+++ b/problems/0084.柱状图中最大的矩形.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -613,5 +613,7 @@ function largestRectangleArea(heights: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0090.子集II.md b/problems/0090.子集II.md
index 81c0f94a..ea1eb4cd 100644
--- a/problems/0090.子集II.md
+++ b/problems/0090.子集II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -582,5 +582,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0093.复原IP地址.md b/problems/0093.复原IP地址.md
index 46ac1c86..ce62cac1 100644
--- a/problems/0093.复原IP地址.md
+++ b/problems/0093.复原IP地址.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -749,5 +749,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0096.不同的二叉搜索树.md b/problems/0096.不同的二叉搜索树.md
index 51de1e23..d086b1f3 100644
--- a/problems/0096.不同的二叉搜索树.md
+++ b/problems/0096.不同的二叉搜索树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -317,5 +317,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0098.验证二叉搜索树.md b/problems/0098.验证二叉搜索树.md
index 727144d5..bb38ae35 100644
--- a/problems/0098.验证二叉搜索树.md
+++ b/problems/0098.验证二叉搜索树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -20,6 +20,11 @@  +# 视频讲解 + +**《代码随想录》算法视频公开课:[你对二叉搜索树了解的还不够! | LeetCode:98.验证二叉搜索树](https://www.bilibili.com/video/BV18P411n7Q4),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + + # 思路 要知道中序遍历下,输出的二叉搜索树节点的数值是有序序列。 @@ -634,5 +639,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0100.相同的树.md b/problems/0100.相同的树.md
index 07c477e6..96acacf6 100644
--- a/problems/0100.相同的树.md
+++ b/problems/0100.相同的树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -337,5 +337,7 @@ function isSameTree(p: TreeNode | null, q: TreeNode | null): boolean { ------------------------ -
+
+
+
diff --git a/problems/0101.对称二叉树.md b/problems/0101.对称二叉树.md
index 3862a3b0..a0870fdd 100644
--- a/problems/0101.对称二叉树.md
+++ b/problems/0101.对称二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -772,5 +772,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0102.二叉树的层序遍历.md b/problems/0102.二叉树的层序遍历.md
index db0ff258..aebb6f08 100644
--- a/problems/0102.二叉树的层序遍历.md
+++ b/problems/0102.二叉树的层序遍历.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -2757,5 +2757,7 @@ object Solution { ------------------------ -
+
+
+
diff --git a/problems/0104.二叉树的最大深度.md b/problems/0104.二叉树的最大深度.md
index a7c206af..be53c417 100644
--- a/problems/0104.二叉树的最大深度.md
+++ b/problems/0104.二叉树的最大深度.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -975,5 +975,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0106.从中序与后序遍历序列构造二叉树.md b/problems/0106.从中序与后序遍历序列构造二叉树.md
index 0fd50897..17ba561d 100644
--- a/problems/0106.从中序与后序遍历序列构造二叉树.md
+++ b/problems/0106.从中序与后序遍历序列构造二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -1136,5 +1136,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0108.将有序数组转换为二叉搜索树.md b/problems/0108.将有序数组转换为二叉搜索树.md
index b5f322f0..fd634094 100644
--- a/problems/0108.将有序数组转换为二叉搜索树.md
+++ b/problems/0108.将有序数组转换为二叉搜索树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -31,9 +31,17 @@ 进入正题: -题目中说要转换为一棵高度平衡二叉搜索树。这和转换为一棵普通二叉搜索树有什么差别呢? +题目中说要转换为一棵高度平衡二叉搜索树。为什么强调要平衡呢? -其实这里不用强调平衡二叉搜索树,数组构造二叉树,构成平衡树是自然而然的事情,因为大家默认都是从数组中间位置取值作为节点元素,一般不会随机取,**所以想构成不平衡的二叉树是自找麻烦**。 +因为只要给我们一个有序数组,如果强调平衡,都可以以线性结构来构造二叉搜索树。 + +例如 有序数组[-10,-3,0,5,9] 可以就可以构造成这样的二叉搜索树,如图。 + + + +上图中,是符合二叉搜索树的特性吧,如果要这么做的话,是不是本题意义就不大了,所以才强调是平衡二叉搜索树。 + +其实数组构造二叉树,构成平衡树是自然而然的事情,因为大家默认都是从数组中间位置取值作为节点元素,一般不会随机取。**所以想构成不平衡的二叉树是自找麻烦**。 在[二叉树:构造二叉树登场!](https://programmercarl.com/0106.从中序与后序遍历序列构造二叉树.html)和[二叉树:构造一棵最大的二叉树](https://programmercarl.com/0654.最大二叉树.html)中其实已经讲过了,如果根据数组构造一棵二叉树。 @@ -470,5 +478,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0110.平衡二叉树.md b/problems/0110.平衡二叉树.md
index a87b64fc..6e7c8c53 100644
--- a/problems/0110.平衡二叉树.md
+++ b/problems/0110.平衡二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -810,5 +810,7 @@ func getHeight(_ root: TreeNode?) -> Int { } ``` ------------------------ -
+
+
+
diff --git a/problems/0111.二叉树的最小深度.md b/problems/0111.二叉树的最小深度.md
index 403027e4..470e1919 100644
--- a/problems/0111.二叉树的最小深度.md
+++ b/problems/0111.二叉树的最小深度.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -636,5 +636,7 @@ impl Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0112.路径总和.md b/problems/0112.路径总和.md
index 23b241cf..d50f23f9 100644
--- a/problems/0112.路径总和.md
+++ b/problems/0112.路径总和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -1213,5 +1213,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0115.不同的子序列.md b/problems/0115.不同的子序列.md
index fe76c3ed..f4893fe0 100644
--- a/problems/0115.不同的子序列.md
+++ b/problems/0115.不同的子序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -298,5 +298,7 @@ function numDistinct(s: string, t: string): number { ------------------------ -
+
+
+
diff --git a/problems/0116.填充每个节点的下一个右侧节点指针.md b/problems/0116.填充每个节点的下一个右侧节点指针.md
index 303108be..31bb6822 100644
--- a/problems/0116.填充每个节点的下一个右侧节点指针.md
+++ b/problems/0116.填充每个节点的下一个右侧节点指针.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -361,5 +361,7 @@ function connect(root: NodePro | null): NodePro | null { ------------------------ -
+
+
+
diff --git a/problems/0121.买卖股票的最佳时机.md b/problems/0121.买卖股票的最佳时机.md
index 868c0e3e..790bbd88 100644
--- a/problems/0121.买卖股票的最佳时机.md
+++ b/problems/0121.买卖股票的最佳时机.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -467,5 +467,7 @@ function maxProfit(prices: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0122.买卖股票的最佳时机II.md b/problems/0122.买卖股票的最佳时机II.md
index 1094d9e4..57b174d9 100644
--- a/problems/0122.买卖股票的最佳时机II.md
+++ b/problems/0122.买卖股票的最佳时机II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -374,5 +374,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0122.买卖股票的最佳时机II(动态规划).md b/problems/0122.买卖股票的最佳时机II(动态规划).md
index 98bf3e52..f5f3f720 100644
--- a/problems/0122.买卖股票的最佳时机II(动态规划).md
+++ b/problems/0122.买卖股票的最佳时机II(动态规划).md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -333,5 +333,7 @@ function maxProfit(prices: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0123.买卖股票的最佳时机III.md b/problems/0123.买卖股票的最佳时机III.md
index 947e6947..33f92db4 100644
--- a/problems/0123.买卖股票的最佳时机III.md
+++ b/problems/0123.买卖股票的最佳时机III.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -418,5 +418,7 @@ func max(a, b int) int { ------------------------ -
+
+
+
diff --git a/problems/0127.单词接龙.md b/problems/0127.单词接龙.md
index 4206852f..4fa53046 100644
--- a/problems/0127.单词接龙.md
+++ b/problems/0127.单词接龙.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -248,5 +248,7 @@ var ladderLength = function(beginWord, endWord, wordList) { ``` ------------------------ -
+
+
+
diff --git a/problems/0129.求根到叶子节点数字之和.md b/problems/0129.求根到叶子节点数字之和.md
index bd5107a2..445e108a 100644
--- a/problems/0129.求根到叶子节点数字之和.md
+++ b/problems/0129.求根到叶子节点数字之和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -380,5 +380,7 @@ int sumNumbers(struct TreeNode* root){ } ``` ------------------------ -
+
+
+
diff --git a/problems/0130.被围绕的区域.md b/problems/0130.被围绕的区域.md
index 2a363f24..528d2042 100644
--- a/problems/0130.被围绕的区域.md
+++ b/problems/0130.被围绕的区域.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 130. 被围绕的区域 @@ -78,3 +83,7 @@ public: ``` ## 其他语言版本 +
+
+
+
diff --git a/problems/0131.分割回文串.md b/problems/0131.分割回文串.md
index 37132503..3a3c2d73 100644
--- a/problems/0131.分割回文串.md
+++ b/problems/0131.分割回文串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -815,5 +815,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0132.分割回文串II.md b/problems/0132.分割回文串II.md
index 36db56cb..24cf43ae 100644
--- a/problems/0132.分割回文串II.md
+++ b/problems/0132.分割回文串II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -334,5 +334,7 @@ var minCut = function(s) { ``` ------------------------ -
+
+
+
diff --git a/problems/0134.加油站.md b/problems/0134.加油站.md
index 4e698d1b..37dddb99 100644
--- a/problems/0134.加油站.md
+++ b/problems/0134.加油站.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -587,5 +587,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0135.分发糖果.md b/problems/0135.分发糖果.md
index 03360dbc..442deccd 100644
--- a/problems/0135.分发糖果.md
+++ b/problems/0135.分发糖果.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -348,5 +348,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0139.单词拆分.md b/problems/0139.单词拆分.md
index d60fd46c..c9e42dc7 100644
--- a/problems/0139.单词拆分.md
+++ b/problems/0139.单词拆分.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -344,6 +344,21 @@ func wordBreak(s string,wordDict []string) bool { } return dp[len(s)] } +// 转化为 求装满背包s的前几位字符的方式有几种 +func wordBreak(s string, wordDict []string) bool { + // 装满背包s的前几位字符的方式有几种 + dp := make([]int, len(s)+1) + dp[0] = 1 + for i := 0; i <= len(s); i++ { // 背包 + for j := 0; j < len(wordDict); j++ { // 物品 + if i >= len(wordDict[j]) && wordDict[j] == s[i-len(wordDict[j]):i] { + dp[i] += dp[i-len(wordDict[j])] + } + } + } + + return dp[len(s)] > 0 +} ``` Javascript: @@ -411,5 +426,7 @@ function wordBreak(s: string, wordDict: string[]): boolean { ------------------------ -
+
+
+
diff --git a/problems/0141.环形链表.md b/problems/0141.环形链表.md
index ce90b6c4..d4cd596f 100644
--- a/problems/0141.环形链表.md
+++ b/problems/0141.环形链表.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -159,5 +159,7 @@ function hasCycle(head: ListNode | null): boolean { ------------------------ -
+
+
+
diff --git a/problems/0142.环形链表II.md b/problems/0142.环形链表II.md
index 050b5ee4..112aa8cf 100644
--- a/problems/0142.环形链表II.md
+++ b/problems/0142.环形链表II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -399,5 +399,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0143.重排链表.md b/problems/0143.重排链表.md
index c60fc0f9..0b3be9a0 100644
--- a/problems/0143.重排链表.md
+++ b/problems/0143.重排链表.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -612,5 +612,7 @@ void reorderList(struct ListNode* head){ ``` ------------------------ -
+
+
+
diff --git a/problems/0150.逆波兰表达式求值.md b/problems/0150.逆波兰表达式求值.md
index 376948cf..108c654b 100644
--- a/problems/0150.逆波兰表达式求值.md
+++ b/problems/0150.逆波兰表达式求值.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -89,8 +89,12 @@ C++代码如下: class Solution { public: int evalRPN(vector
+
+
+
diff --git a/problems/0151.翻转字符串里的单词.md b/problems/0151.翻转字符串里的单词.md
index be35c2f2..450d7258 100644
--- a/problems/0151.翻转字符串里的单词.md
+++ b/problems/0151.翻转字符串里的单词.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -923,5 +923,7 @@ pub fn remove_extra_spaces(s: &mut Vec
+
+
+
diff --git a/problems/0160.相交链表.md b/problems/0160.相交链表.md
index 03b102f7..bf62ab30 100644
--- a/problems/0160.相交链表.md
+++ b/problems/0160.相交链表.md
@@ -1,9 +1,11 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
同:[链表:链表相交](https://programmercarl.com/面试题02.07.链表相交.html) ------------------------ -
+
+
+
diff --git a/problems/0188.买卖股票的最佳时机IV.md b/problems/0188.买卖股票的最佳时机IV.md
index 8319fcba..26a0a7ad 100644
--- a/problems/0188.买卖股票的最佳时机IV.md
+++ b/problems/0188.买卖股票的最佳时机IV.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -431,5 +431,7 @@ function maxProfit(k: number, prices: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0189.旋转数组.md b/problems/0189.旋转数组.md
index 23092f9c..8a7b0227 100644
--- a/problems/0189.旋转数组.md
+++ b/problems/0189.旋转数组.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -185,5 +185,7 @@ function reverseByRange(nums: number[], left: number, right: number): void { ------------------------ -
+
+
+
diff --git a/problems/0198.打家劫舍.md b/problems/0198.打家劫舍.md
index 6428359c..2cc2f4fe 100644
--- a/problems/0198.打家劫舍.md
+++ b/problems/0198.打家劫舍.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -215,5 +215,7 @@ function rob(nums: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0200.岛屿数量.广搜版.md b/problems/0200.岛屿数量.广搜版.md
index f70ea50c..021cb6d2 100644
--- a/problems/0200.岛屿数量.广搜版.md
+++ b/problems/0200.岛屿数量.广搜版.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 200. 岛屿数量 @@ -191,3 +196,7 @@ class Solution { } } ``` +
+
+
+
diff --git a/problems/0200.岛屿数量.深搜版.md b/problems/0200.岛屿数量.深搜版.md
index fcd0db94..98bd5a63 100644
--- a/problems/0200.岛屿数量.深搜版.md
+++ b/problems/0200.岛屿数量.深搜版.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 200. 岛屿数量 @@ -168,4 +173,7 @@ public void dfs(char[][] grid, int i, int j){ dfs(grid,i,j + 1); dfs(grid,i,j - 1); } -``` \ No newline at end of file +
+
+
+
diff --git a/problems/0202.快乐数.md b/problems/0202.快乐数.md
index d14ee770..1a7d53a3 100644
--- a/problems/0202.快乐数.md
+++ b/problems/0202.快乐数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -425,5 +425,7 @@ public class Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0203.移除链表元素.md b/problems/0203.移除链表元素.md
index 5622fd1c..01a6d891 100644
--- a/problems/0203.移除链表元素.md
+++ b/problems/0203.移除链表元素.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -569,5 +569,7 @@ class Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0205.同构字符串.md b/problems/0205.同构字符串.md
index 43e2b0f0..a507638c 100644
--- a/problems/0205.同构字符串.md
+++ b/problems/0205.同构字符串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -179,5 +179,7 @@ function isIsomorphic(s: string, t: string): boolean { ------------------------ -
+
+
+
diff --git a/problems/0206.翻转链表.md b/problems/0206.翻转链表.md
index 009b4469..da674eef 100644
--- a/problems/0206.翻转链表.md
+++ b/problems/0206.翻转链表.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -628,5 +628,7 @@ impl Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0209.长度最小的子数组.md b/problems/0209.长度最小的子数组.md
index 2a018736..c912c259 100644
--- a/problems/0209.长度最小的子数组.md
+++ b/problems/0209.长度最小的子数组.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -181,23 +181,23 @@ class Solution: index += 1 return 0 if res==float("inf") else res ``` -```python3 -#滑动窗口 +```python +# 滑动窗口 class Solution: def minSubArrayLen(self, target: int, nums: List[int]) -> int: - if nums is None or len(nums)==0: + if nums is None or len(nums) == 0: return 0 - lenf=len(nums)+1 - total=0 - i=j=0 - while (j
+
+
+
diff --git a/problems/0213.打家劫舍II.md b/problems/0213.打家劫舍II.md
index 7ae7aae0..8e1ca126 100644
--- a/problems/0213.打家劫舍II.md
+++ b/problems/0213.打家劫舍II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -227,5 +227,7 @@ func max(a, b int) int { ------------------------ -
+
+
+
diff --git a/problems/0216.组合总和III.md b/problems/0216.组合总和III.md
index 964facee..3e3b8869 100644
--- a/problems/0216.组合总和III.md
+++ b/problems/0216.组合总和III.md
@@ -1,13 +1,13 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
-> 别看本篇选的是组合总和III,而不是组合总和,本题和上一篇[回溯算法:求组合问题!](https://mp.weixin.qq.com/s/OnBjbLzuipWz_u4QfmgcqQ)相比难度刚刚好! +> 别看本篇选的是组合总和III,而不是组合总和,本题和上一篇77.组合相比难度刚刚好! # 216.组合总和III @@ -166,7 +166,7 @@ public: 已选元素总和如果已经大于n(图中数值为4)了,那么往后遍历就没有意义了,直接剪掉。 -那么剪枝的地方一定是在递归终止的地方剪,剪枝代码如下: +那么剪枝的地方可以放在递归函数开始的地方,剪枝代码如下: ```cpp if (sum > targetSum) { // 剪枝操作 @@ -174,6 +174,25 @@ if (sum > targetSum) { // 剪枝操作 } ``` +当然这个剪枝也可以放在 调用递归之前,即放在这里,只不过要记得 要回溯操作给做了。 + +```CPP + +for (int i = startIndex; i <= 9 - (k - path.size()) + 1; i++) { // 剪枝 + sum += i; // 处理 + path.push_back(i); // 处理 + if (sum > targetSum) { // 剪枝操作 + sum -= i; // 剪枝之前先把回溯做了 + path.pop_back(); // 剪枝之前先把回溯做了 + return; + } + backtracking(targetSum, k, sum, i + 1); // 注意i+1调整startIndex + sum -= i; // 回溯 + path.pop_back(); // 回溯 +} +``` + + 和[回溯算法:组合问题再剪剪枝](https://programmercarl.com/0077.组合优化.html) 一样,for循环的范围也可以剪枝,i <= 9 - (k - path.size()) + 1就可以了。 最后C++代码如下: @@ -224,7 +243,7 @@ public: # 其他语言版本 -## Java +## Java 模板方法 ```java @@ -247,7 +266,7 @@ class Solution { if (sum == targetSum) result.add(new ArrayList<>(path)); return; } - + // 减枝 9 - (k - path.size()) + 1 for (int i = startIndex; i <= 9 - (k - path.size()) + 1; i++) { path.add(i); @@ -272,7 +291,7 @@ class Solution { } private void build(int k, int n, int startIndex, int sum) { - + if (sum > n) return; if (path.size() > k) return; @@ -281,7 +300,7 @@ class Solution { ans.add(new ArrayList<>(path)); return; } - + for(int i = startIndex; i <= 9; i++) { path.add(i); sum += i; @@ -328,7 +347,7 @@ class Solution { } ``` -## Python +## Python ```py class Solution: @@ -492,7 +511,7 @@ void backtracking(int targetSum, int k, int sum, int startIndex) { if(sum == targetSum) { int* tempPath = (int*)malloc(sizeof(int) * k); int j; - for(j = 0; j < k; j++) + for(j = 0; j < k; j++) tempPath[j] = path[j]; ans[ansTop++] = tempPath; } @@ -580,7 +599,7 @@ object Solution { // 剪枝 for (i <- startIndex to (9 - (k - path.size) + 1)) { path.append(i) - backtracking(k, n, sum + i, i + 1) + backtracking(k, n, sum + i, i + 1) path = path.take(path.size - 1) } } @@ -592,5 +611,9 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0222.完全二叉树的节点个数.md b/problems/0222.完全二叉树的节点个数.md
index eecc4dc1..6754864d 100644
--- a/problems/0222.完全二叉树的节点个数.md
+++ b/problems/0222.完全二叉树的节点个数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -797,5 +797,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0225.用队列实现栈.md b/problems/0225.用队列实现栈.md
index 4412a819..9aa8d8a1 100644
--- a/problems/0225.用队列实现栈.md
+++ b/problems/0225.用队列实现栈.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -1051,5 +1051,7 @@ class MyStack { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0226.翻转二叉树.md b/problems/0226.翻转二叉树.md
index 61a760ce..9c34ce20 100644
--- a/problems/0226.翻转二叉树.md
+++ b/problems/0226.翻转二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -857,5 +857,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0232.用栈实现队列.md b/problems/0232.用栈实现队列.md
index 7364e6c1..1ed0c5d6 100644
--- a/problems/0232.用栈实现队列.md
+++ b/problems/0232.用栈实现队列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -622,5 +622,7 @@ class MyQueue() { } ``` ------------------------ -
+
+
+
diff --git a/problems/0234.回文链表.md b/problems/0234.回文链表.md
index 1f515623..18b397e3 100644
--- a/problems/0234.回文链表.md
+++ b/problems/0234.回文链表.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -428,5 +428,7 @@ function reverseList(head: ListNode | null): ListNode | null { ------------------------ -
+
+
+
diff --git a/problems/0235.二叉搜索树的最近公共祖先.md b/problems/0235.二叉搜索树的最近公共祖先.md
index 07e55ba5..ed65553f 100644
--- a/problems/0235.二叉搜索树的最近公共祖先.md
+++ b/problems/0235.二叉搜索树的最近公共祖先.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -421,5 +421,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0236.二叉树的最近公共祖先.md b/problems/0236.二叉树的最近公共祖先.md
index 82ca09f0..a34e8c21 100644
--- a/problems/0236.二叉树的最近公共祖先.md
+++ b/problems/0236.二叉树的最近公共祖先.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -33,6 +33,11 @@ * 所有节点的值都是唯一的。 * p、q 为不同节点且均存在于给定的二叉树中。 +# 算法公开课 + +**《代码随想录》算法视频公开课:[自底向上查找,有点难度! | LeetCode:236. 二叉树的最近公共祖先](https://www.bilibili.com/video/BV1jd4y1B7E2),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + + # 思路 遇到这个题目首先想的是要是能自底向上查找就好了,这样就可以找到公共祖先了。 @@ -379,5 +384,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0239.滑动窗口最大值.md b/problems/0239.滑动窗口最大值.md
index 3f402f12..80c72305 100644
--- a/problems/0239.滑动窗口最大值.md
+++ b/problems/0239.滑动窗口最大值.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -297,15 +297,18 @@ class Solution { Python: ```python +from collections import deque + + class MyQueue: #单调队列(从大到小 def __init__(self): - self.queue = [] #使用list来实现单调队列 + self.queue = deque() #这里需要使用deque实现单调队列,直接使用list会超时 #每次弹出的时候,比较当前要弹出的数值是否等于队列出口元素的数值,如果相等则弹出。 #同时pop之前判断队列当前是否为空。 def pop(self, value): if self.queue and value == self.queue[0]: - self.queue.pop(0)#list.pop()时间复杂度为O(n),这里可以使用collections.deque() + self.queue.popleft()#list.pop()时间复杂度为O(n),这里需要使用collections.deque() #如果push的数值大于入口元素的数值,那么就将队列后端的数值弹出,直到push的数值小于等于队列入口元素的数值为止。 #这样就保持了队列里的数值是单调从大到小的了。 @@ -799,5 +802,7 @@ class myDequeue{ } ``` ------------------------ -
+
+
+
diff --git a/problems/0242.有效的字母异位词.md b/problems/0242.有效的字母异位词.md
index d54285eb..556bf39a 100644
--- a/problems/0242.有效的字母异位词.md
+++ b/problems/0242.有效的字母异位词.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -366,5 +366,7 @@ C#: * 438.找到字符串中所有字母异位词 ------------------------ -
+
+
+
diff --git a/problems/0257.二叉树的所有路径.md b/problems/0257.二叉树的所有路径.md
index 579c214f..297acb60 100644
--- a/problems/0257.二叉树的所有路径.md
+++ b/problems/0257.二叉树的所有路径.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -795,5 +795,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0279.完全平方数.md b/problems/0279.完全平方数.md
index e8ec98c6..7596da12 100644
--- a/problems/0279.完全平方数.md
+++ b/problems/0279.完全平方数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:一样的套路,再求一次完全平方数 @@ -374,5 +374,7 @@ function numSquares(n: number): number { ------------------------ -
+
+
+
diff --git a/problems/0283.移动零.md b/problems/0283.移动零.md
index fe8e41c1..bf388def 100644
--- a/problems/0283.移动零.md
+++ b/problems/0283.移动零.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -155,5 +155,7 @@ function moveZeroes(nums: number[]): void { ------------------------ -
+
+
+
diff --git a/problems/0300.最长上升子序列.md b/problems/0300.最长上升子序列.md
index 9e256897..cae514fd 100644
--- a/problems/0300.最长上升子序列.md
+++ b/problems/0300.最长上升子序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -267,5 +267,7 @@ function lengthOfLIS(nums: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0309.最佳买卖股票时机含冷冻期.md b/problems/0309.最佳买卖股票时机含冷冻期.md
index 45772181..0111037f 100644
--- a/problems/0309.最佳买卖股票时机含冷冻期.md
+++ b/problems/0309.最佳买卖股票时机含冷冻期.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -388,5 +388,7 @@ function maxProfit(prices: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0322.零钱兑换.md b/problems/0322.零钱兑换.md
index 03c6a4e2..7f2e6988 100644
--- a/problems/0322.零钱兑换.md
+++ b/problems/0322.零钱兑换.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划: 给我个机会,我再兑换一次零钱 @@ -356,5 +356,7 @@ function coinChange(coins: number[], amount: number): number { }; ``` ------------------------ -
+
+
+
diff --git a/problems/0332.重新安排行程.md b/problems/0332.重新安排行程.md
index 604d0261..90756d7d 100644
--- a/problems/0332.重新安排行程.md
+++ b/problems/0332.重新安排行程.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -807,5 +807,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0337.打家劫舍III.md b/problems/0337.打家劫舍III.md
index 70465988..3b7e7cbf 100644
--- a/problems/0337.打家劫舍III.md
+++ b/problems/0337.打家劫舍III.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -516,5 +516,7 @@ func max(a, b int) int { ------------------------ -
+
+
+
diff --git a/problems/0343.整数拆分.md b/problems/0343.整数拆分.md
index 0a568b57..00e6a9da 100644
--- a/problems/0343.整数拆分.md
+++ b/problems/0343.整数拆分.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -388,5 +388,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0344.反转字符串.md b/problems/0344.反转字符串.md
index 5b3d72d8..f5b0e22b 100644
--- a/problems/0344.反转字符串.md
+++ b/problems/0344.反转字符串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -331,5 +331,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/0347.前K个高频元素.md b/problems/0347.前K个高频元素.md
index 6c3bc000..47456455 100644
--- a/problems/0347.前K个高频元素.md
+++ b/problems/0347.前K个高频元素.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -490,5 +490,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0349.两个数组的交集.md b/problems/0349.两个数组的交集.md
index 61eac6cd..153077ed 100644
--- a/problems/0349.两个数组的交集.md
+++ b/problems/0349.两个数组的交集.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -411,5 +411,7 @@ C#: * 350.两个数组的交集 II ------------------------ -
+
+
+
diff --git a/problems/0376.摆动序列.md b/problems/0376.摆动序列.md
index fef5e594..214ff311 100644
--- a/problems/0376.摆动序列.md
+++ b/problems/0376.摆动序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -529,5 +529,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0377.组合总和Ⅳ.md b/problems/0377.组合总和Ⅳ.md
index f8e544a9..4a84b2fa 100644
--- a/problems/0377.组合总和Ⅳ.md
+++ b/problems/0377.组合总和Ⅳ.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -260,5 +260,7 @@ impl Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0383.赎金信.md b/problems/0383.赎金信.md
index 3cde5472..57458308 100644
--- a/problems/0383.赎金信.md
+++ b/problems/0383.赎金信.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -446,5 +446,7 @@ public bool CanConstruct(string ransomNote, string magazine) { } ``` ------------------------ -
+
+
+
diff --git a/problems/0392.判断子序列.md b/problems/0392.判断子序列.md
index 9dbafe19..1a0d4f8b 100644
--- a/problems/0392.判断子序列.md
+++ b/problems/0392.判断子序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -250,5 +250,7 @@ func isSubsequence(s string, t string) bool { ------------------------ -
+
+
+
diff --git a/problems/0404.左叶子之和.md b/problems/0404.左叶子之和.md
index f9bdaa7c..6b6fe729 100644
--- a/problems/0404.左叶子之和.md
+++ b/problems/0404.左叶子之和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -575,5 +575,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0406.根据身高重建队列.md b/problems/0406.根据身高重建队列.md
index 75e0c40c..2c5c7cd3 100644
--- a/problems/0406.根据身高重建队列.md
+++ b/problems/0406.根据身高重建队列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -397,5 +397,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0416.分割等和子集.md b/problems/0416.分割等和子集.md
index fa677da0..db080203 100644
--- a/problems/0416.分割等和子集.md
+++ b/problems/0416.分割等和子集.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -649,5 +649,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0417.太平洋大西洋水流问题.md b/problems/0417.太平洋大西洋水流问题.md
index fa2f573f..35fdc7d7 100644
--- a/problems/0417.太平洋大西洋水流问题.md
+++ b/problems/0417.太平洋大西洋水流问题.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 417. 太平洋大西洋水流问题 [题目链接](https://leetcode.cn/problems/pacific-atlantic-water-flow/) @@ -203,3 +208,7 @@ for (int j = 0; j < m; j++) { ## 其他语言版本 +
+
+
+
diff --git a/problems/0435.无重叠区间.md b/problems/0435.无重叠区间.md
index 6f88cad4..6ac29996 100644
--- a/problems/0435.无重叠区间.md
+++ b/problems/0435.无重叠区间.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -396,5 +396,7 @@ impl Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0450.删除二叉搜索树中的节点.md b/problems/0450.删除二叉搜索树中的节点.md
index 2d6d4ef2..4ae092a2 100644
--- a/problems/0450.删除二叉搜索树中的节点.md
+++ b/problems/0450.删除二叉搜索树中的节点.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -615,5 +615,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0452.用最少数量的箭引爆气球.md b/problems/0452.用最少数量的箭引爆气球.md
index 91e340be..c362726c 100644
--- a/problems/0452.用最少数量的箭引爆气球.md
+++ b/problems/0452.用最少数量的箭引爆气球.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -318,5 +318,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0454.四数相加II.md b/problems/0454.四数相加II.md
index 45f27a1c..d9fd5c04 100644
--- a/problems/0454.四数相加II.md
+++ b/problems/0454.四数相加II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -390,5 +390,7 @@ public int FourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) { return res; } ``` ------------------------ -
+
+
+
diff --git a/problems/0455.分发饼干.md b/problems/0455.分发饼干.md
index 93a4c2d3..eec471af 100644
--- a/problems/0455.分发饼干.md
+++ b/problems/0455.分发饼干.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -345,5 +345,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0459.重复的子字符串.md b/problems/0459.重复的子字符串.md
index 69f71ee3..18de79d5 100644
--- a/problems/0459.重复的子字符串.md
+++ b/problems/0459.重复的子字符串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -616,5 +616,7 @@ impl Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0463.岛屿的周长.md b/problems/0463.岛屿的周长.md
index a881cd7c..2c3f2ec7 100644
--- a/problems/0463.岛屿的周长.md
+++ b/problems/0463.岛屿的周长.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 463. 岛屿的周长 @@ -251,5 +251,7 @@ var islandPerimeter = function(grid) { ``` ------------------------ -
+
+
+
diff --git a/problems/0474.一和零.md b/problems/0474.一和零.md
index 8ebe303d..21fbf84b 100644
--- a/problems/0474.一和零.md
+++ b/problems/0474.一和零.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:一和零! @@ -521,5 +521,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0491.递增子序列.md b/problems/0491.递增子序列.md
index 6a92aa21..e33a049d 100644
--- a/problems/0491.递增子序列.md
+++ b/problems/0491.递增子序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -607,5 +607,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0494.目标和.md b/problems/0494.目标和.md
index f2656d41..7882229c 100644
--- a/problems/0494.目标和.md
+++ b/problems/0494.目标和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:目标和! @@ -397,5 +397,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0496.下一个更大元素I.md b/problems/0496.下一个更大元素I.md
index 31e6f230..b3109fcc 100644
--- a/problems/0496.下一个更大元素I.md
+++ b/problems/0496.下一个更大元素I.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -389,5 +389,7 @@ function nextGreaterElement(nums1: number[], nums2: number[]): number[] { ------------------------ -
+
+
+
diff --git a/problems/0501.二叉搜索树中的众数.md b/problems/0501.二叉搜索树中的众数.md
index a2fdddf4..3c6362bf 100644
--- a/problems/0501.二叉搜索树中的众数.md
+++ b/problems/0501.二叉搜索树中的众数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -33,6 +33,11 @@ 进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内) +# 算法公开课 + +**《代码随想录》算法视频公开课:[不仅双指针,还有代码技巧可以惊艳到你! | LeetCode:501.二叉搜索树中的众数](https://www.bilibili.com/video/BV1fD4y117gp),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + + # 思路 这道题目呢,递归法我从两个维度来讲。 @@ -872,5 +877,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0503.下一个更大元素II.md b/problems/0503.下一个更大元素II.md
index 0bd0fb82..e82f58d7 100644
--- a/problems/0503.下一个更大元素II.md
+++ b/problems/0503.下一个更大元素II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -208,5 +208,7 @@ function nextGreaterElements(nums: number[]): number[] { ------------------------ -
+
+
+
diff --git a/problems/0509.斐波那契数.md b/problems/0509.斐波那契数.md
index 4c9317bc..d3c58f44 100644
--- a/problems/0509.斐波那契数.md
+++ b/problems/0509.斐波那契数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -410,5 +410,7 @@ public class Solution ------------------------ -
+
+
+
diff --git a/problems/0513.找树左下角的值.md b/problems/0513.找树左下角的值.md
index 33c3033c..fd6e5d95 100644
--- a/problems/0513.找树左下角的值.md
+++ b/problems/0513.找树左下角的值.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -587,5 +587,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0516.最长回文子序列.md b/problems/0516.最长回文子序列.md
index 378f9b74..fc97a952 100644
--- a/problems/0516.最长回文子序列.md
+++ b/problems/0516.最长回文子序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -266,5 +266,7 @@ function longestPalindromeSubseq(s: string): number { ------------------------ -
+
+
+
diff --git a/problems/0518.零钱兑换II.md b/problems/0518.零钱兑换II.md
index 3abb9601..e5c8b251 100644
--- a/problems/0518.零钱兑换II.md
+++ b/problems/0518.零钱兑换II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 动态规划:给你一些零钱,你要怎么凑? @@ -306,5 +306,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0530.二叉搜索树的最小绝对差.md b/problems/0530.二叉搜索树的最小绝对差.md
index af1cbd74..ad4f46d8 100644
--- a/problems/0530.二叉搜索树的最小绝对差.md
+++ b/problems/0530.二叉搜索树的最小绝对差.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -19,6 +19,11 @@ 提示:树中至少有 2 个节点。 +# 视频讲解 + +**《代码随想录》算法视频公开课:[二叉搜索树中,需要掌握如何双指针遍历!| LeetCode:530.二叉搜索树的最小绝对差](https://www.bilibili.com/video/BV1DD4y11779),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 + + # 思路 题目中要求在二叉搜索树上任意两节点的差的绝对值的最小值。 @@ -510,5 +515,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0538.把二叉搜索树转换为累加树.md b/problems/0538.把二叉搜索树转换为累加树.md
index 5c1e9e8c..823771b1 100644
--- a/problems/0538.把二叉搜索树转换为累加树.md
+++ b/problems/0538.把二叉搜索树转换为累加树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -78,7 +78,7 @@ pre指针的使用技巧,我们在[二叉树:搜索树的最小绝对差](ht 代码如下: ``` -int pre; // 记录前一个节点的数值 +int pre = 0; // 记录前一个节点的数值 void traversal(TreeNode* cur) ``` @@ -108,7 +108,7 @@ traversal(cur->left); // 左 ```CPP class Solution { private: - int pre; // 记录前一个节点的数值 + int pre = 0; // 记录前一个节点的数值 void traversal(TreeNode* cur) { // 右中左遍历 if (cur == NULL) return; traversal(cur->right); @@ -372,5 +372,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0541.反转字符串II.md b/problems/0541.反转字符串II.md
index 80692c0b..3dd6b1e8 100644
--- a/problems/0541.反转字符串II.md
+++ b/problems/0541.反转字符串II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -442,5 +442,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0583.两个字符串的删除操作.md b/problems/0583.两个字符串的删除操作.md
index c33f7f58..6bc50421 100644
--- a/problems/0583.两个字符串的删除操作.md
+++ b/problems/0583.两个字符串的删除操作.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -315,5 +315,7 @@ function minDistance(word1: string, word2: string): number { ------------------------ -
+
+
+
diff --git a/problems/0617.合并二叉树.md b/problems/0617.合并二叉树.md
index eb485afc..db2d3762 100644
--- a/problems/0617.合并二叉树.md
+++ b/problems/0617.合并二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -692,5 +692,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0647.回文子串.md b/problems/0647.回文子串.md
index 69efe7d0..847a610f 100644
--- a/problems/0647.回文子串.md
+++ b/problems/0647.回文子串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -464,5 +464,7 @@ function expandRange(s: string, left: number, right: number): number { ------------------------ -
+
+
+
diff --git a/problems/0649.Dota2参议院.md b/problems/0649.Dota2参议院.md
index 3b61a9fe..a1420a66 100644
--- a/problems/0649.Dota2参议院.md
+++ b/problems/0649.Dota2参议院.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -283,5 +283,7 @@ function predictPartyVictory(senate: string): string { ------------------------ -
+
+
+
diff --git a/problems/0654.最大二叉树.md b/problems/0654.最大二叉树.md
index 18739fdf..fda64372 100644
--- a/problems/0654.最大二叉树.md
+++ b/problems/0654.最大二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -509,5 +509,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0657.机器人能否返回原点.md b/problems/0657.机器人能否返回原点.md
index 3d91a5c3..017c5ecc 100644
--- a/problems/0657.机器人能否返回原点.md
+++ b/problems/0657.机器人能否返回原点.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -150,5 +150,7 @@ var judgeCircle = function(moves) { ``` ------------------------ -
+
+
+
diff --git a/problems/0669.修剪二叉搜索树.md b/problems/0669.修剪二叉搜索树.md
index a286315d..98af3c26 100644
--- a/problems/0669.修剪二叉搜索树.md
+++ b/problems/0669.修剪二叉搜索树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -470,5 +470,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0673.最长递增子序列的个数.md b/problems/0673.最长递增子序列的个数.md
index 8a6a2d46..6418be8a 100644
--- a/problems/0673.最长递增子序列的个数.md
+++ b/problems/0673.最长递增子序列的个数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -360,5 +360,7 @@ var findNumberOfLIS = function(nums) { ``` ------------------------ -
+
+
+
diff --git a/problems/0674.最长连续递增序列.md b/problems/0674.最长连续递增序列.md
index c197e897..410f5b7b 100644
--- a/problems/0674.最长连续递增序列.md
+++ b/problems/0674.最长连续递增序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -380,5 +380,7 @@ function findLengthOfLCIS(nums: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0684.冗余连接.md b/problems/0684.冗余连接.md
index 3928e051..e3002b65 100644
--- a/problems/0684.冗余连接.md
+++ b/problems/0684.冗余连接.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -347,5 +347,7 @@ var findRedundantConnection = function(edges) { ------------------------ -
+
+
+
diff --git a/problems/0685.冗余连接II.md b/problems/0685.冗余连接II.md
index a8da1124..5a0bd5d7 100644
--- a/problems/0685.冗余连接II.md
+++ b/problems/0685.冗余连接II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -600,5 +600,7 @@ var findRedundantDirectedConnection = function(edges) { ------------------------ -
+
+
+
diff --git a/problems/0695.岛屿的最大面积.md b/problems/0695.岛屿的最大面积.md
index 447a374c..414efe0b 100644
--- a/problems/0695.岛屿的最大面积.md
+++ b/problems/0695.岛屿的最大面积.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 695. 岛屿的最大面积 给你一个大小为 m x n 的二进制矩阵 grid 。 @@ -275,3 +280,7 @@ public int dfs(int[][] grid,int i,int j){ dfs(grid,i,j - 1); } ``` +
+
+
+
diff --git a/problems/0700.二叉搜索树中的搜索.md b/problems/0700.二叉搜索树中的搜索.md
index 53c9136e..2ee2bdb0 100644
--- a/problems/0700.二叉搜索树中的搜索.md
+++ b/problems/0700.二叉搜索树中的搜索.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -414,5 +414,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0701.二叉搜索树中的插入操作.md b/problems/0701.二叉搜索树中的插入操作.md
index 06e1c88f..039c3b6d 100644
--- a/problems/0701.二叉搜索树中的插入操作.md
+++ b/problems/0701.二叉搜索树中的插入操作.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -623,5 +623,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0704.二分查找.md b/problems/0704.二分查找.md
index d1389549..27af3f49 100644
--- a/problems/0704.二分查找.md
+++ b/problems/0704.二分查找.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -223,18 +223,18 @@ class Solution: ```python class Solution: def search(self, nums: List[int], target: int) -> int: - if nums is None or len(nums)==0: - return -1 - left,right=0,len(nums) - while (left
+
+
+
diff --git a/problems/0707.设计链表.md b/problems/0707.设计链表.md
index 1f7e6cbf..1264983b 100644
--- a/problems/0707.设计链表.md
+++ b/problems/0707.设计链表.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -1329,5 +1329,7 @@ impl MyLinkedList { } ``` ------------------------ -
+
+
+
diff --git a/problems/0714.买卖股票的最佳时机含手续费.md b/problems/0714.买卖股票的最佳时机含手续费.md
index 824e7937..66fb9fb6 100644
--- a/problems/0714.买卖股票的最佳时机含手续费.md
+++ b/problems/0714.买卖股票的最佳时机含手续费.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -358,5 +358,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0714.买卖股票的最佳时机含手续费(动态规划).md b/problems/0714.买卖股票的最佳时机含手续费(动态规划).md
index c573f00d..25c31668 100644
--- a/problems/0714.买卖股票的最佳时机含手续费(动态规划).md
+++ b/problems/0714.买卖股票的最佳时机含手续费(动态规划).md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -262,5 +262,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0718.最长重复子数组.md b/problems/0718.最长重复子数组.md
index d45f9111..a1ca92e3 100644
--- a/problems/0718.最长重复子数组.md
+++ b/problems/0718.最长重复子数组.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -348,5 +348,7 @@ function findLength(nums1: number[], nums2: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0724.寻找数组的中心索引.md b/problems/0724.寻找数组的中心索引.md
index 5a24a884..9ed8535e 100644
--- a/problems/0724.寻找数组的中心索引.md
+++ b/problems/0724.寻找数组的中心索引.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -159,5 +159,7 @@ function pivotIndex(nums: number[]): number { ------------------------ -
+
+
+
diff --git a/problems/0738.单调递增的数字.md b/problems/0738.单调递增的数字.md
index b452d02d..89630827 100644
--- a/problems/0738.单调递增的数字.md
+++ b/problems/0738.单调递增的数字.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -299,5 +299,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0739.每日温度.md b/problems/0739.每日温度.md
index 4605de09..38a45533 100644
--- a/problems/0739.每日温度.md
+++ b/problems/0739.每日温度.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -401,5 +401,7 @@ function dailyTemperatures(temperatures: number[]): number[] { ------------------------ -
+
+
+
diff --git a/problems/0746.使用最小花费爬楼梯.md b/problems/0746.使用最小花费爬楼梯.md
index 4a4c0b65..cec6f704 100644
--- a/problems/0746.使用最小花费爬楼梯.md
+++ b/problems/0746.使用最小花费爬楼梯.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -391,5 +391,7 @@ public class Solution ------------------------ -
+
+
+
diff --git a/problems/0763.划分字母区间.md b/problems/0763.划分字母区间.md
index a6066ebc..65369d25 100644
--- a/problems/0763.划分字母区间.md
+++ b/problems/0763.划分字母区间.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -372,5 +372,7 @@ impl Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0797.所有可能的路径.md b/problems/0797.所有可能的路径.md
index 66376e3d..c727af6e 100644
--- a/problems/0797.所有可能的路径.md
+++ b/problems/0797.所有可能的路径.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
看一下 算法4,深搜是怎么讲的 @@ -322,3 +327,7 @@ class Solution: ``` ### Go +
+
+
+
diff --git a/problems/0827.最大人工岛.md b/problems/0827.最大人工岛.md
index 55d6c397..fb0c797e 100644
--- a/problems/0827.最大人工岛.md
+++ b/problems/0827.最大人工岛.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 827. 最大人工岛 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 @@ -166,3 +171,7 @@ public: } }; ``` +
+
+
+
diff --git a/problems/0841.钥匙和房间.md b/problems/0841.钥匙和房间.md
index edef21c2..0233a710 100644
--- a/problems/0841.钥匙和房间.md
+++ b/problems/0841.钥匙和房间.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -387,5 +387,7 @@ var canVisitAllRooms = function(rooms) { ``` ------------------------ -
+
+
+
diff --git a/problems/0844.比较含退格的字符串.md b/problems/0844.比较含退格的字符串.md
index 5d29ffb0..6534f18c 100644
--- a/problems/0844.比较含退格的字符串.md
+++ b/problems/0844.比较含退格的字符串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -538,5 +538,7 @@ function getIndexAfterDel(s: string, startIndex: number): number { ------------------------ -
+
+
+
diff --git a/problems/0860.柠檬水找零.md b/problems/0860.柠檬水找零.md
index 16b89ff7..bc006f45 100644
--- a/problems/0860.柠檬水找零.md
+++ b/problems/0860.柠檬水找零.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -392,5 +392,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0922.按奇偶排序数组II.md b/problems/0922.按奇偶排序数组II.md
index 4e281a3c..c4654f16 100644
--- a/problems/0922.按奇偶排序数组II.md
+++ b/problems/0922.按奇偶排序数组II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -380,8 +380,7 @@ function sortArrayByParityII(nums: number[]): number[] { }; ``` - - - ------------------------ -
+
+
+
diff --git a/problems/0925.长按键入.md b/problems/0925.长按键入.md
index 3924c181..11edecd0 100644
--- a/problems/0925.长按键入.md
+++ b/problems/0925.长按键入.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -227,5 +227,7 @@ function isLongPressedName(name: string, typed: string): boolean { ------------------------ -
+
+
+
diff --git a/problems/0941.有效的山脉数组.md b/problems/0941.有效的山脉数组.md
index fb7935a8..f43a2108 100644
--- a/problems/0941.有效的山脉数组.md
+++ b/problems/0941.有效的山脉数组.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -197,5 +197,7 @@ public class Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/0968.监控二叉树.md b/problems/0968.监控二叉树.md
index 717112a7..e4a0512a 100644
--- a/problems/0968.监控二叉树.md
+++ b/problems/0968.监控二叉树.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -579,5 +579,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/0977.有序数组的平方.md b/problems/0977.有序数组的平方.md
index 8b260ad4..b8890052 100644
--- a/problems/0977.有序数组的平方.md
+++ b/problems/0977.有序数组的平方.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -474,5 +474,7 @@ public class Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/1002.查找常用字符.md b/problems/1002.查找常用字符.md
index 6f54c098..78eb1989 100644
--- a/problems/1002.查找常用字符.md
+++ b/problems/1002.查找常用字符.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -451,5 +451,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/1005.K次取反后最大化的数组和.md b/problems/1005.K次取反后最大化的数组和.md
index 9d82bf9f..09ff38e9 100644
--- a/problems/1005.K次取反后最大化的数组和.md
+++ b/problems/1005.K次取反后最大化的数组和.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -339,5 +339,7 @@ object Solution { ------------------------ -
+
+
+
diff --git a/problems/1020.飞地的数量.md b/problems/1020.飞地的数量.md
index 4095fe9d..8b54d7f1 100644
--- a/problems/1020.飞地的数量.md
+++ b/problems/1020.飞地的数量.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1020. 飞地的数量 @@ -137,3 +142,7 @@ public: } }; ``` +
+
+
+
diff --git a/problems/1035.不相交的线.md b/problems/1035.不相交的线.md
index 39124675..6742c8d9 100644
--- a/problems/1035.不相交的线.md
+++ b/problems/1035.不相交的线.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -210,8 +210,7 @@ function maxUncrossedLines(nums1: number[], nums2: number[]): number { }; ``` - - - ------------------------ -
+
+
+
diff --git a/problems/1047.删除字符串中的所有相邻重复项.md b/problems/1047.删除字符串中的所有相邻重复项.md
index e22c747a..849b5e79 100644
--- a/problems/1047.删除字符串中的所有相邻重复项.md
+++ b/problems/1047.删除字符串中的所有相邻重复项.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -447,5 +447,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/1049.最后一块石头的重量II.md b/problems/1049.最后一块石头的重量II.md
index b6a674aa..5412c5b5 100644
--- a/problems/1049.最后一块石头的重量II.md
+++ b/problems/1049.最后一块石头的重量II.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -43,7 +43,7 @@ 是不是感觉和昨天讲解的[416. 分割等和子集](https://programmercarl.com/0416.分割等和子集.html)非常像了。 -本题物品的重量为store[i],物品的价值也为store[i]。 +本题物品的重量为stones[i],物品的价值也为stones[i]。 对应着01背包里的物品重量weight[i]和 物品价值value[i]。 @@ -370,5 +370,7 @@ object Solution { ------------------------ -
+
+
+
diff --git a/problems/1143.最长公共子序列.md b/problems/1143.最长公共子序列.md
index 097dc6e6..713d6912 100644
--- a/problems/1143.最长公共子序列.md
+++ b/problems/1143.最长公共子序列.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -307,5 +307,7 @@ function longestCommonSubsequence(text1: string, text2: string): number { ------------------------ -
+
+
+
diff --git a/problems/1207.独一无二的出现次数.md b/problems/1207.独一无二的出现次数.md
index 5298f5be..afc93eda 100644
--- a/problems/1207.独一无二的出现次数.md
+++ b/problems/1207.独一无二的出现次数.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -184,5 +184,7 @@ function uniqueOccurrences(arr: number[]): boolean { ------------------------ -
+
+
+
diff --git a/problems/1221.分割平衡字符串.md b/problems/1221.分割平衡字符串.md
index 857df7ef..94d7bca8 100644
--- a/problems/1221.分割平衡字符串.md
+++ b/problems/1221.分割平衡字符串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -157,5 +157,7 @@ var balancedStringSplit = function(s) { ``` ------------------------ -
+
+
+
diff --git a/problems/1254.统计封闭岛屿的数目.md b/problems/1254.统计封闭岛屿的数目.md
index 38e93d31..b70cd496 100644
--- a/problems/1254.统计封闭岛屿的数目.md
+++ b/problems/1254.统计封闭岛屿的数目.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1254. 统计封闭岛屿的数目 @@ -72,3 +77,7 @@ public: } }; ``` +
+
+
+
diff --git a/problems/1356.根据数字二进制下1的数目排序.md b/problems/1356.根据数字二进制下1的数目排序.md
index e97748cb..b898b7f2 100644
--- a/problems/1356.根据数字二进制下1的数目排序.md
+++ b/problems/1356.根据数字二进制下1的数目排序.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -223,5 +223,7 @@ var sortByBits = function(arr) { ``` ------------------------ -
+
+
+
diff --git a/problems/1365.有多少小于当前数字的数字.md b/problems/1365.有多少小于当前数字的数字.md
index 3aaadf6d..7c268769 100644
--- a/problems/1365.有多少小于当前数字的数字.md
+++ b/problems/1365.有多少小于当前数字的数字.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -259,5 +259,7 @@ function smallerNumbersThanCurrent(nums: number[]): number[] { ------------------------ -
+
+
+
diff --git a/problems/1382.将二叉搜索树变平衡.md b/problems/1382.将二叉搜索树变平衡.md
index 7d983fbb..0f81745c 100644
--- a/problems/1382.将二叉搜索树变平衡.md
+++ b/problems/1382.将二叉搜索树变平衡.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -214,5 +214,7 @@ function buildTree(arr: number[], left: number, right: number): TreeNode | null ------------------------ -
+
+
+
diff --git a/problems/1791.找出星型图的中心节点.md b/problems/1791.找出星型图的中心节点.md
index 57777fd7..d44c1476 100644
--- a/problems/1791.找出星型图的中心节点.md
+++ b/problems/1791.找出星型图的中心节点.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1791.找出星型图的中心节点 [题目链接](https://leetcode.cn/problems/find-center-of-star-graph/) @@ -71,3 +76,7 @@ public: ``` +
+
+
+
diff --git a/problems/1971.寻找图中是否存在路径.md b/problems/1971.寻找图中是否存在路径.md
index bf1e93cf..39694567 100644
--- a/problems/1971.寻找图中是否存在路径.md
+++ b/problems/1971.寻找图中是否存在路径.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 1971. 寻找图中是否存在路径 [题目链接](https://leetcode.cn/problems/find-if-path-exists-in-graph/) @@ -121,3 +126,7 @@ public: } }; ``` +
+
+
+
diff --git a/problems/O(n)的算法居然超时了,此时的n究竟是多大?.md b/problems/O(n)的算法居然超时了,此时的n究竟是多大?.md
index 24302b2d..c2854ca8 100644
--- a/problems/O(n)的算法居然超时了,此时的n究竟是多大?.md
+++ b/problems/O(n)的算法居然超时了,此时的n究竟是多大?.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 程序提交之后为什么会超时?O(n)的算法会超时,n究竟是多大? @@ -229,5 +229,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/toolgithub.sh b/problems/toolgithub.sh
new file mode 100644
index 00000000..ebe9c7df
--- /dev/null
+++ b/problems/toolgithub.sh
@@ -0,0 +1,56 @@
+#########################################################################
+
+# File Name: toolgithub.sh
+# Author: 程序员Carl
+# mail: programmercarl@163.com
+# Created Time: Sat Oct 15 16:36:23 2022
+#########################################################################
+#!/bin/bash
+
+for i in *.md
+do
+ if [[ $i != 'README.md' ]]
+ then
+ # 移除开头
+ # sed -i '' '/align/d;/\"\"><\/a>/d;/<\/p>/d;/<\/a>/d;/20210924105952.png/d;/_blank/d' $i
+ # # 移除结尾
+ # sed -i '' '/--------------/d;/训练营/d;' $i
+ # # 添加开头
+ # # 记得从后向前添加
+ # ex -sc '1i|
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
' -cx $i + # ex -sc '1i|' -cx $i + # ex -sc '1i|' -cx $i + # echo '## 其他语言版本' >> $i + # echo '\n' >> $i + # echo 'Java:' >> $i + # echo '\n' >> $i + # echo 'Python:' >> $i + # echo '\n' >> $i + # echo 'Go:' >> $i + # echo '\n' >> $i + # echo '\n' >> $i + + # 添加结尾 + + echo '
' >> $i
+ echo '' >> $i
+ echo ' ' >> $i
+ echo '' >> $i
+
+ # echo '-----------------------' >> $i
+
+ # echo '
+#
+#
+#
+
+#
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
+ + + diff --git a/problems/为了绝杀编辑距离,卡尔做了三步铺垫.md b/problems/为了绝杀编辑距离,卡尔做了三步铺垫.md index ef2c30f0..b8adffc7 100644 --- a/problems/为了绝杀编辑距离,卡尔做了三步铺垫.md +++ b/problems/为了绝杀编辑距离,卡尔做了三步铺垫.md @@ -1,6 +1,6 @@参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -201,5 +201,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/二叉树中递归带着回溯.md b/problems/二叉树中递归带着回溯.md
index 1e9f9cbf..e35a5214 100644
--- a/problems/二叉树中递归带着回溯.md
+++ b/problems/二叉树中递归带着回溯.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -618,5 +618,7 @@ func _binaryTreePaths3(_ root: TreeNode, res: inout [String], paths: inout [Int] ``` ------------------------ -
+
+
+
diff --git a/problems/二叉树总结篇.md b/problems/二叉树总结篇.md
index 73faffa6..4c742a6b 100644
--- a/problems/二叉树总结篇.md
+++ b/problems/二叉树总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -176,5 +176,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/二叉树理论基础.md b/problems/二叉树理论基础.md
index f1c3c08b..e377626c 100644
--- a/problems/二叉树理论基础.md
+++ b/problems/二叉树理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -270,5 +270,7 @@ class TreeNode(_value: Int = 0, _left: TreeNode = null, _right: TreeNode = null) var right: TreeNode = _right } ``` ------------------------ -
+
+
+
diff --git a/problems/二叉树的统一迭代法.md b/problems/二叉树的统一迭代法.md
index 9ca6ac39..030d3ae1 100644
--- a/problems/二叉树的统一迭代法.md
+++ b/problems/二叉树的统一迭代法.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -666,5 +666,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/二叉树的迭代遍历.md b/problems/二叉树的迭代遍历.md
index 0aa12432..a20f11cb 100644
--- a/problems/二叉树的迭代遍历.md
+++ b/problems/二叉树的迭代遍历.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -640,5 +640,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/二叉树的递归遍历.md b/problems/二叉树的递归遍历.md
index dc39295c..03304caf 100644
--- a/problems/二叉树的递归遍历.md
+++ b/problems/二叉树的递归遍历.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -525,5 +525,7 @@ object Solution { } } ``` ------------------------ -
+
+
+
diff --git a/problems/关于时间复杂度,你不知道的都在这里!.md b/problems/关于时间复杂度,你不知道的都在这里!.md
index a0fd6d92..246294ed 100644
--- a/problems/关于时间复杂度,你不知道的都在这里!.md
+++ b/problems/关于时间复杂度,你不知道的都在这里!.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -171,5 +171,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/剑指Offer05.替换空格.md b/problems/剑指Offer05.替换空格.md
index 7a2712ef..53f0315f 100644
--- a/problems/剑指Offer05.替换空格.md
+++ b/problems/剑指Offer05.替换空格.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -538,5 +538,7 @@ impl Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/剑指Offer58-II.左旋转字符串.md b/problems/剑指Offer58-II.左旋转字符串.md
index b14c26cc..c34b2a71 100644
--- a/problems/剑指Offer58-II.左旋转字符串.md
+++ b/problems/剑指Offer58-II.左旋转字符串.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -398,5 +398,7 @@ impl Solution { ------------------------ -
+
+
+
diff --git a/problems/动态规划-股票问题总结篇.md b/problems/动态规划-股票问题总结篇.md
index 366810e5..2b04b7b0 100644
--- a/problems/动态规划-股票问题总结篇.md
+++ b/problems/动态规划-股票问题总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -485,5 +485,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/动态规划总结篇.md b/problems/动态规划总结篇.md
index 45bd3916..cf604d5d 100644
--- a/problems/动态规划总结篇.md
+++ b/problems/动态规划总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -137,5 +137,7 @@ ------------------------ -
+
+
+
diff --git a/problems/动态规划理论基础.md b/problems/动态规划理论基础.md
index 66971fce..77f01b13 100644
--- a/problems/动态规划理论基础.md
+++ b/problems/动态规划理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -126,5 +126,7 @@ 今天我们开始新的征程了,你准备好了么? ------------------------ -
+
+
+
diff --git a/problems/双指针总结.md b/problems/双指针总结.md
index 5abcec53..04a8cb9a 100644
--- a/problems/双指针总结.md
+++ b/problems/双指针总结.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -94,5 +94,7 @@ for (int i = 0; i < array.size(); i++) { 建议大家可以把文中涉及到的题目在好好做一做,琢磨琢磨,基本对双指针法就不在话下了。 ------------------------ -
+
+
+
diff --git a/problems/哈希表总结.md b/problems/哈希表总结.md
index bbec31d7..9ee84f99 100644
--- a/problems/哈希表总结.md
+++ b/problems/哈希表总结.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -125,5 +125,7 @@ std::unordered_map 底层实现为哈希,std::map 和std::multimap 的底层 ------------------------ -
+
+
+
diff --git a/problems/哈希表理论基础.md b/problems/哈希表理论基础.md
index 3b6c5ce5..9366ca5c 100644
--- a/problems/哈希表理论基础.md
+++ b/problems/哈希表理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -127,5 +127,7 @@ std::unordered_map 底层实现为哈希表,std::map 和std::multimap 的底 ------------------------ -
+
+
+
diff --git a/problems/回溯总结.md b/problems/回溯总结.md
index 54ac485b..58fb42f8 100644
--- a/problems/回溯总结.md
+++ b/problems/回溯总结.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -437,5 +437,7 @@ N皇后问题分析: **回溯算法系列正式结束,新的系列终将开始,录友们准备开启新的征程!** ------------------------ -
+
+
+
diff --git a/problems/回溯算法去重问题的另一种写法.md b/problems/回溯算法去重问题的另一种写法.md
index c7bf24bc..73862156 100644
--- a/problems/回溯算法去重问题的另一种写法.md
+++ b/problems/回溯算法去重问题的另一种写法.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -530,5 +530,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/回溯算法理论基础.md b/problems/回溯算法理论基础.md
index 7061667d..aba21fa0 100644
--- a/problems/回溯算法理论基础.md
+++ b/problems/回溯算法理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -169,5 +169,7 @@ void backtracking(参数) { ------------------------ -
+
+
+
diff --git a/problems/图论广索理论基础.md b/problems/图论广索理论基础.md
index a584adb2..0252553b 100644
--- a/problems/图论广索理论基础.md
+++ b/problems/图论广索理论基础.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 广度优先搜索理论基础 @@ -119,3 +124,7 @@ if (!visited[nextx][nexty] && grid[nextx][nexty] == '1') { // 如果节点没被 相信看完本篇,大家会对广搜有一个基础性的认识,后面再来做对应的题目就会得心应手一些。 +
+
+
+
diff --git a/problems/图论深搜理论基础.md b/problems/图论深搜理论基础.md
index 28ec636f..cd66b819 100644
--- a/problems/图论深搜理论基础.md
+++ b/problems/图论深搜理论基础.md
@@ -1,3 +1,8 @@
+
+
+
+
+
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 深度优先搜索理论基础 @@ -185,3 +190,7 @@ for (选择:本节点所连接的其他节点) { 以上如果大家都能理解了,其实搜索的代码就很好写,具体题目套用具体场景就可以了。 +
+
+
+
diff --git a/problems/字符串总结.md b/problems/字符串总结.md
index 1993b44b..c12d1764 100644
--- a/problems/字符串总结.md
+++ b/problems/字符串总结.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -124,5 +124,7 @@ KMP算法是字符串查找最重要的算法,但彻底理解KMP并不容易 ------------------------ -
+
+
+
diff --git a/problems/数组总结篇.md b/problems/数组总结篇.md
index 6d7603fd..ef962187 100644
--- a/problems/数组总结篇.md
+++ b/problems/数组总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -128,5 +128,7 @@ 推荐的题目即使大家之前做过了,再读一遍文章,也会帮助你提炼出解题的精髓所在。 ------------------------ -
+
+
+
diff --git a/problems/数组理论基础.md b/problems/数组理论基础.md
index 93167255..c49e9ec8 100644
--- a/problems/数组理论基础.md
+++ b/problems/数组理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -118,5 +118,7 @@ public static void test_arr() { ------------------------ -
+
+
+
diff --git a/problems/栈与队列总结.md b/problems/栈与队列总结.md
index 15093ca7..c3132201 100644
--- a/problems/栈与队列总结.md
+++ b/problems/栈与队列总结.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -158,5 +158,7 @@ cd a/b/c/../../ 好了,栈与队列我们就总结到这里了,接下来Carl就要带大家开启新的篇章了,大家加油! ------------------------ -
+
+
+
diff --git a/problems/栈与队列理论基础.md b/problems/栈与队列理论基础.md
index 8c76614f..da3a6dfa 100644
--- a/problems/栈与队列理论基础.md
+++ b/problems/栈与队列理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -88,5 +88,7 @@ std::queue
+
+
+
diff --git a/problems/根据身高重建队列(vector原理讲解).md b/problems/根据身高重建队列(vector原理讲解).md
index e229f397..5b86074b 100644
--- a/problems/根据身高重建队列(vector原理讲解).md
+++ b/problems/根据身高重建队列(vector原理讲解).md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
# 贪心算法:根据身高重建队列(续集) @@ -182,5 +182,7 @@ Go中slice的`append`操作和C++中vector的扩容机制基本相同。 ------------------------ -
+
+
+
diff --git a/problems/算法模板.md b/problems/算法模板.md
index 789d8f80..24d3e6bd 100644
--- a/problems/算法模板.md
+++ b/problems/算法模板.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -810,5 +810,7 @@ Go: ------------------------ -
+
+
+
diff --git a/problems/背包总结篇.md b/problems/背包总结篇.md
index 24d4cec9..9f61b2af 100644
--- a/problems/背包总结篇.md
+++ b/problems/背包总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -102,5 +102,7 @@ ------------------------ -
+
+
+
diff --git a/problems/背包理论基础01背包-1.md b/problems/背包理论基础01背包-1.md
index c2e93eb4..ee19e53d 100644
--- a/problems/背包理论基础01背包-1.md
+++ b/problems/背包理论基础01背包-1.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -538,5 +538,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/背包理论基础01背包-2.md b/problems/背包理论基础01背包-2.md
index 81e61be4..816719c3 100644
--- a/problems/背包理论基础01背包-2.md
+++ b/problems/背包理论基础01背包-2.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -403,5 +403,7 @@ object Solution { } ``` ------------------------ -
+
+
+
diff --git a/problems/背包问题理论基础多重背包.md b/problems/背包问题理论基础多重背包.md
index 712380f4..af10dab7 100644
--- a/problems/背包问题理论基础多重背包.md
+++ b/problems/背包问题理论基础多重背包.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -393,5 +393,7 @@ testMultiPack(); ------------------------ -
+
+
+
diff --git a/problems/背包问题理论基础完全背包.md b/problems/背包问题理论基础完全背包.md
index 44f7d30d..06bda147 100644
--- a/problems/背包问题理论基础完全背包.md
+++ b/problems/背包问题理论基础完全背包.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -384,5 +384,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/problems/贪心算法总结篇.md b/problems/贪心算法总结篇.md
index 6539501f..86cd053f 100644
--- a/problems/贪心算法总结篇.md
+++ b/problems/贪心算法总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -147,5 +147,7 @@ Carl个人认为:如果找出局部最优并可以推出全局最优,就是 ------------------------ -
+
+
+
diff --git a/problems/贪心算法理论基础.md b/problems/贪心算法理论基础.md
index f1fde32f..ce3a3488 100644
--- a/problems/贪心算法理论基础.md
+++ b/problems/贪心算法理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -88,5 +88,7 @@ ------------------------ -
+
+
+
diff --git a/problems/链表总结篇.md b/problems/链表总结篇.md
index e3fe4740..cfbafc45 100644
--- a/problems/链表总结篇.md
+++ b/problems/链表总结篇.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -96,5 +96,7 @@ ------------------------ -
+
+
+
diff --git a/problems/链表理论基础.md b/problems/链表理论基础.md
index cdd861fd..fb1ac1ed 100644
--- a/problems/链表理论基础.md
+++ b/problems/链表理论基础.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -235,5 +235,7 @@ impl
+
+
+
diff --git a/problems/面试题02.07.链表相交.md b/problems/面试题02.07.链表相交.md
index 6d6810a3..3277e85e 100644
--- a/problems/面试题02.07.链表相交.md
+++ b/problems/面试题02.07.链表相交.md
@@ -1,6 +1,6 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!
@@ -395,5 +395,7 @@ object Solution { ``` ------------------------ -
+
+
+
diff --git a/添加0222.完全二叉树的节点个数Go版本.md b/添加0222.完全二叉树的节点个数Go版本.md
deleted file mode 100644
index 6001e7b7..00000000
--- a/添加0222.完全二叉树的节点个数Go版本.md
+++ /dev/null
@@ -1,25 +0,0 @@
-```go
-func countNodes(root *TreeNode) int {
- if root == nil {
- return 0
- }
- q := list.New()
- q.PushBack(root)
- res := 0
- for q.Len() > 0 {
- n := q.Len()
- for i := 0; i < n; i++ {
- node := q.Remove(q.Front()).(*TreeNode)
- if node.Left != nil {
- q.PushBack(node.Left)
- }
- if node.Right != nil {
- q.PushBack(node.Right)
- }
- res++
- }
- }
- return res
-}
-```
-
diff --git a/添加559.n叉树的最大深度Go版本.md b/添加559.n叉树的最大深度Go版本.md
deleted file mode 100644
index 3172837d..00000000
--- a/添加559.n叉树的最大深度Go版本.md
+++ /dev/null
@@ -1,22 +0,0 @@
-```go
-func maxDepth(root *Node) int {
- if root == nil {
- return 0
- }
- q := list.New()
- q.PushBack(root)
- depth := 0
- for q.Len() > 0 {
- n := q.Len()
- for i := 0; i < n; i++ {
- node := q.Remove(q.Front()).(*Node)
- for j := range node.Children {
- q.PushBack(node.Children[j])
- }
- }
- depth++
- }
- return depth
-}
-```
-