From 0ffc4e1ef8a98957d71fe0558f5b4cb3851ad6fd Mon Sep 17 00:00:00 2001 From: jiu bao Date: Thu, 20 Aug 2026 21:16:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A2=98=E8=A7=A3=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E4=B8=AD=E7=9A=84=E9=94=99=E5=88=AB=E5=AD=97=EF=BC=88?= =?UTF-8?q?=E5=9C=A8/=E5=86=8D=E6=B7=B7=E7=94=A8=E5=8F=8A=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E9=87=8D=E5=A4=8D=E5=AD=97=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...25\277\345\233\236\346\226\207\345\255\220\344\270\262.md" | 2 +- ...57\271\347\247\260\344\272\214\345\217\211\346\240\221.md" | 2 +- ...20\214\347\232\204\345\255\220\345\272\217\345\210\227.md" | 2 +- ...\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" | 2 +- ...12\250\346\200\201\350\247\204\345\210\222\357\274\211.md" | 2 +- ...67\246\345\217\266\345\255\220\344\271\213\345\222\214.md" | 2 +- ...26\220\346\263\242\351\202\243\345\245\221\346\225\260.md" | 2 +- ...685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" | 4 ++-- ...12\250\346\200\201\350\247\204\345\210\222\357\274\211.md" | 2 +- .../0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" | 2 +- ...27\256\351\242\230\346\200\273\347\273\223\347\257\207.md" | 2 +- ...17\214\346\214\207\351\222\210\346\200\273\347\273\223.md" | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git "a/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" "b/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" index 05dd610a72..cbc5a69581 100755 --- "a/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" +++ "b/problems/0005.\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262.md" @@ -100,7 +100,7 @@ dp[i][j]可以初始化为true么? 当然不行,怎能刚开始就全都匹 4. 确定遍历顺序 -遍历顺序可有有点讲究了。 +遍历顺序可有点讲究了。 首先从递推公式中可以看出,情况三是根据dp[i + 1][j - 1]是否为true,在对dp[i][j]进行赋值true的。 diff --git "a/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" "b/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" index 24e9e2684e..4537bfb9e2 100755 --- "a/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" +++ "b/problems/0101.\345\257\271\347\247\260\344\272\214\345\217\211\346\240\221.md" @@ -400,7 +400,7 @@ class Solution: queue = collections.deque() queue.append(root.left) #将左子树头结点加入队列 queue.append(root.right) #将右子树头结点加入队列 - while queue: #接下来就要判断这这两个树是否相互翻转 + while queue: #接下来就要判断这两个树是否相互翻转 leftNode = queue.popleft() rightNode = queue.popleft() if not leftNode and not rightNode: #左节点为空、右节点为空,此时说明是对称的 diff --git "a/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" "b/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" index 499bf100e2..e558c42433 100755 --- "a/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" +++ "b/problems/0115.\344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227.md" @@ -210,7 +210,7 @@ class SolutionDP2: 既然dp[i]只用到dp[i - 1]的状态, 我们可以通过缓存dp[i - 1]的状态来对dp进行压缩, 减少空间复杂度。 - (原理等同同于滚动数组) + (原理等同于滚动数组) """ def numDistinct(self, s: str, t: str) -> int: diff --git "a/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" "b/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" index 0da4241931..085edb3edc 100755 --- "a/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" +++ "b/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II.md" @@ -276,7 +276,7 @@ const maxProfit = (prices) => { // 第i天买入股票,所得现金就是昨天不持有股票的所得现金减去 今天的股票价格 即:dp[i - 1][1] - prices[i] dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] - prices[i]); - // 在来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 + // 再来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 // 第i-1天就不持有股票,那么就保持现状,所得现金就是昨天不持有股票的所得现金 即:dp[i - 1][1] // 第i天卖出股票,所得现金就是按照今天股票佳价格卖出后所得现金即:prices[i] + dp[i - 1][0] dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] + prices[i]); diff --git "a/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" "b/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" index d8cb308b7e..c2b3aa7d99 100755 --- "a/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" +++ "b/problems/0122.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272II\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" @@ -286,7 +286,7 @@ const maxProfit = (prices) => { // 第i天买入股票,所得现金就是昨天不持有股票的所得现金减去 今天的股票价格 即:dp[i - 1][1] - prices[i] dp[i][0] = Math.max(dp[i-1][0], dp[i-1][1] - prices[i]); - // 在来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 + // 再来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 // 第i-1天就不持有股票,那么就保持现状,所得现金就是昨天不持有股票的所得现金 即:dp[i - 1][1] // 第i天卖出股票,所得现金就是按照今天股票佳价格卖出后所得现金即:prices[i] + dp[i - 1][0] dp[i][1] = Math.max(dp[i-1][1], dp[i-1][0] + prices[i]); diff --git "a/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" "b/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" index 10b159b181..b4dbaf1103 100755 --- "a/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" +++ "b/problems/0404.\345\267\246\345\217\266\345\255\220\344\271\213\345\222\214.md" @@ -532,7 +532,7 @@ int sumOfLeftLeaves(struct TreeNode* root){ if(!root) return 0; - // 递归取左子树的左结点和和右子树的左结点和 + // 递归取左子树的左结点和右子树的左结点和 int leftValue = sumOfLeftLeaves(root->left); int rightValue = sumOfLeftLeaves(root->right); diff --git "a/problems/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.md" "b/problems/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.md" index b2e56a613c..0caab1530d 100755 --- "a/problems/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.md" +++ "b/problems/0509.\346\226\220\346\263\242\351\202\243\345\245\221\346\225\260.md" @@ -351,7 +351,7 @@ int fib(int n){ return n; //动态开辟一个int数组,大小为n+1 int *dp = (int *)malloc(sizeof(int) * (n + 1)); - //设置0号位为0,1号为为1 + //设置0号位为0,1号为1 dp[0] = 0; dp[1] = 1; diff --git "a/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" "b/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" index 27161d174c..bb602e7c93 100755 --- "a/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" +++ "b/problems/0685.\345\206\227\344\275\231\350\277\236\346\216\245II.md" @@ -31,7 +31,7 @@ 先重点读懂题目中的这句**该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。** -**这说明题目中的图原本是是一棵树,只不过在不增加节点的情况下多加了一条边!** +**这说明题目中的图原本是一棵树,只不过在不增加节点的情况下多加了一条边!** 还有**若有多个答案,返回最后出现在给定二维数组的答案。**这说明在两条边都可以删除的情况下,要删顺序靠后的! @@ -102,7 +102,7 @@ if (vec.size() > 0) { } ``` -在来看情况三,明确没有入度为2的情况,那么一定有向环,找到构成环的边就是要删除的边。 +再来看情况三,明确没有入度为2的情况,那么一定有向环,找到构成环的边就是要删除的边。 可以定义一个函数,代码如下: diff --git "a/problems/0714.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272\345\220\253\346\211\213\347\273\255\350\264\271\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" "b/problems/0714.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272\345\220\253\346\211\213\347\273\255\350\264\271\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" index ebed4a0b30..3693366bf6 100755 --- "a/problems/0714.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272\345\220\253\346\211\213\347\273\255\350\264\271\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" +++ "b/problems/0714.\344\271\260\345\215\226\350\202\241\347\245\250\347\232\204\346\234\200\344\275\263\346\227\266\346\234\272\345\220\253\346\211\213\347\273\255\350\264\271\357\274\210\345\212\250\346\200\201\350\247\204\345\210\222\357\274\211.md" @@ -64,7 +64,7 @@ dp[i][1] 表示第i天不持有股票所得最多现金 所以:dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - prices[i]); -在来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 +再来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 * 第i-1天就不持有股票,那么就保持现状,所得现金就是昨天不持有股票的所得现金 即:dp[i - 1][1] * 第i天卖出股票,所得现金就是按照今天股票价格卖出后所得现金,**注意这里需要有手续费了**即:dp[i - 1][0] + prices[i] - fee diff --git "a/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" "b/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" index 2ad7e6b79b..3a7894207f 100755 --- "a/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" +++ "b/problems/0739.\346\257\217\346\227\245\346\270\251\345\272\246.md" @@ -24,7 +24,7 @@ 首先想到的当然是暴力解法,两层for循环,把至少需要等待的天数就搜出来了。时间复杂度是O(n^2) -那么接下来在来看看使用单调栈的解法。 +那么接下来再来看看使用单调栈的解法。 那有同学就问了,我怎么能想到用单调栈呢? 什么时候用单调栈呢? diff --git "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" index ff73cd9606..b501192c1a 100755 --- "a/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" +++ "b/problems/\345\212\250\346\200\201\350\247\204\345\210\222-\350\202\241\347\245\250\351\227\256\351\242\230\346\200\273\347\273\223\347\257\207.md" @@ -430,7 +430,7 @@ dp[i][1] 表示第i天不持有股票所得最多现金 所以:dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - prices[i]); -在来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 +再来看看如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来 * 第i-1天就不持有股票,那么就保持现状,所得现金就是昨天不持有股票的所得现金 即:dp[i - 1][1] * 第i天卖出股票,所得现金就是按照今天股票价格卖出后所得现金,**注意这里需要有手续费了**即:dp[i - 1][0] + prices[i] - fee diff --git "a/problems/\345\217\214\346\214\207\351\222\210\346\200\273\347\273\223.md" "b/problems/\345\217\214\346\214\207\351\222\210\346\200\273\347\273\223.md" index 9c92e3d6c3..7a57de729f 100755 --- "a/problems/\345\217\214\346\214\207\351\222\210\346\200\273\347\273\223.md" +++ "b/problems/\345\217\214\346\214\207\351\222\210\346\200\273\347\273\223.md" @@ -69,7 +69,7 @@ for (int i = 0; i < array.size(); i++) { 使用了哈希法解决了两数之和,但是哈希法并不适用于三数之和! -使用哈希法的过程中要把符合条件的三元组放进vector中,然后在去去重,这样是非常费时的,很容易超时,也是三数之和通过率如此之低的根源所在。 +使用哈希法的过程中要把符合条件的三元组放进vector中,然后再去重,这样是非常费时的,很容易超时,也是三数之和通过率如此之低的根源所在。 去重的过程不好处理,有很多小细节,如果在面试中很难想到位。