更新图床

This commit is contained in:
programmercarl
2023-03-10 14:02:32 +08:00
parent 2a9b627a90
commit 17cb4b45c7
134 changed files with 1169 additions and 829 deletions

View File

@@ -29,7 +29,7 @@ dp[1] = max(nums[0], nums[1]);
以示例二,输入[2,7,9,3,1]为例。
![198.打家劫舍](https://img-blog.csdnimg.cn/20210221170954115.jpg)
![198.打家劫舍](https://code-thinking-1253855093.file.myqcloud.com/pics/20210221170954115-20230310133425353.jpg)
红框dp[nums.size() - 1]为结果。
@@ -41,15 +41,15 @@ dp[1] = max(nums[0], nums[1]);
* 情况一:考虑不包含首尾元素
![213.打家劫舍II](https://img-blog.csdnimg.cn/20210129160748643.jpg)
![213.打家劫舍II](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160748643.jpg)
* 情况二:考虑包含首元素,不包含尾元素
![213.打家劫舍II1](https://img-blog.csdnimg.cn/20210129160821374.jpg)
![213.打家劫舍II1](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160821374.jpg)
* 情况三:考虑包含尾元素,不包含首元素
![213.打家劫舍II2](https://img-blog.csdnimg.cn/20210129160842491.jpg)
![213.打家劫舍II2](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129160842491.jpg)
需要注意的是,**“考虑” 不等于 “偷”**例如情况三虽然是考虑包含尾元素但不一定要选尾部元素对于情况三取nums[1] 和 nums[3]就是最大的。
@@ -135,9 +135,11 @@ dp数组含义下标为0记录不偷该节点所得到的的最大金钱
2. 确定终止条件
在遍历的过程中如果遇到空间点的话很明显无论偷还是不偷都是0所以就返回
```
if (cur == NULL) return vector<int>{0, 0};
```
3. 确定遍历顺序
采用后序遍历,代码如下:
@@ -175,7 +177,7 @@ return {val2, val1};
以示例1为例dp数组状态如下**注意用后序遍历的方式推导**
![337.打家劫舍III](https://img-blog.csdnimg.cn/20210129181331613.jpg)
![337.打家劫舍III](https://code-thinking-1253855093.file.myqcloud.com/pics/20210129181331613.jpg)
**最后头结点就是 取下标0 和 下标1的最大值就是偷得的最大金钱**
@@ -196,6 +198,7 @@ return {val2, val1};
这里我给出了三种解法:
暴力解法代码:
```CPP
class Solution {
public: