Merge pull request #676 from hailincai/master

Fix a typo in the md file
This commit is contained in:
程序员Carl
2021-08-30 10:10:35 +08:00
committed by GitHub
3 changed files with 6 additions and 9 deletions

View File

@ -29,7 +29,7 @@
与198.打家劫舍213.打家劫舍II一样关键是要讨论当前节点抢还是不抢。 与198.打家劫舍213.打家劫舍II一样关键是要讨论当前节点抢还是不抢。
如果抢了当前节点,两个孩子就不动,如果没抢当前节点,就可以考虑抢左右孩子(**注意这里说的是“考虑”** 如果抢了当前节点,两个孩子就不动,如果没抢当前节点,就可以考虑抢左右孩子(**注意这里说的是“考虑”**
### 暴力递归 ### 暴力递归
@ -91,7 +91,7 @@ public:
### 动态规划 ### 动态规划
在上面两种方法,其实对一个节点 与不得到的最大金钱都没有做记录,而是需要实时计算。 在上面两种方法,其实对一个节点 与不得到的最大金钱都没有做记录,而是需要实时计算。
而动态规划其实就是使用状态转移容器来记录状态的变化这里可以使用一个长度为2的数组记录当前节点偷与不偷所得到的的最大金钱。 而动态规划其实就是使用状态转移容器来记录状态的变化这里可以使用一个长度为2的数组记录当前节点偷与不偷所得到的的最大金钱。
@ -121,7 +121,7 @@ vector<int> robTree(TreeNode* cur) {
2. 确定终止条件 2. 确定终止条件
在遍历的过程中,如果遇到空点的话很明显无论偷还是不偷都是0所以就返回 在遍历的过程中,如果遇到空点的话很明显无论偷还是不偷都是0所以就返回
``` ```
if (cur == NULL) return vector<int>{0, 0}; if (cur == NULL) return vector<int>{0, 0};
``` ```

View File

@ -117,11 +117,8 @@ class Solution {
} }
// 如果K还大于0那么反复转变数值最小的元素将K用完 // 如果K还大于0那么反复转变数值最小的元素将K用完
if (k % 2 == 1) nums[len - 1] = -nums[len - 1]; if (k % 2 == 1) nums[len - 1] = -nums[len - 1];
int result = 0;
for (int a : nums) { return Arrays.stream(nums).sum();
result += a;
}
return result;
} }
} }
``` ```

View File

@ -80,7 +80,7 @@ dp状态图如下
* [动态规划关于01背包问题你该了解这些](https://programmercarl.com/背包理论基础01背包-1.html) * [动态规划关于01背包问题你该了解这些](https://programmercarl.com/背包理论基础01背包-1.html)
* [动态规划关于01背包问题你该了解这些滚动数组](https://programmercarl.com/背包理论基础01背包-2.html) * [动态规划关于01背包问题你该了解这些滚动数组](https://programmercarl.com/背包理论基础01背包-2.html)
就知道了01背包中二维dp数组的两个for遍历的先后循序是可以颠倒了dp数组的两个for循环先后循序一定是先遍历物品再遍历背包容量。 就知道了01背包中二维dp数组的两个for遍历的先后循序是可以颠倒了dp数组的两个for循环先后循序一定是先遍历物品再遍历背包容量。
**在完全背包中对于一维dp数组来说其实两个for循环嵌套顺序同样无所谓** **在完全背包中对于一维dp数组来说其实两个for循环嵌套顺序同样无所谓**