mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2026-02-02 18:39:09 +08:00
‘周总结连接替换完成
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
|
||||
## 周一
|
||||
|
||||
[动态规划:关于01背包问题,你该了解这些!](https://mp.weixin.qq.com/s/FwIiPPmR18_AJO5eiidT6w)中,我们开始介绍了背包问题。
|
||||
[动态规划:关于01背包问题,你该了解这些!](https://programmercarl.com/背包理论基础01背包-1.html)中,我们开始介绍了背包问题。
|
||||
|
||||
首先对于背包的所有问题中,01背包是最最基础的,其他背包也是在01背包的基础上稍作变化。
|
||||
|
||||
@@ -75,7 +75,7 @@ for(int i = 1; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
## 周二
|
||||
|
||||
[动态规划:关于01背包问题,你该了解这些!(滚动数组)](https://mp.weixin.qq.com/s/M4uHxNVKRKm5HPjkNZBnFA)中把01背包的一维dp数组(滚动数组)实现详细讲解了一遍。
|
||||
[动态规划:关于01背包问题,你该了解这些!(滚动数组)](https://programmercarl.com/背包理论基础01背包-2.html)中把01背包的一维dp数组(滚动数组)实现详细讲解了一遍。
|
||||
|
||||
分析一下和二维dp数组有什么区别,在初始化和遍历顺序上又有什么差异?
|
||||
|
||||
@@ -125,7 +125,7 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
## 周三
|
||||
|
||||
[动态规划:416. 分割等和子集](https://mp.weixin.qq.com/s/sYw3QtPPQ5HMZCJcT4EaLQ)中我们开始用01背包来解决问题。
|
||||
[动态规划:416. 分割等和子集](https://programmercarl.com/0416.分割等和子集.html)中我们开始用01背包来解决问题。
|
||||
|
||||
只有确定了如下四点,才能把01背包问题套到本题上来。
|
||||
|
||||
@@ -138,11 +138,11 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
## 周四
|
||||
|
||||
[动态规划:1049. 最后一块石头的重量 II](https://mp.weixin.qq.com/s/WbwAo3jaUaNJjvhHgq0BGg)这道题目其实和[动态规划:416. 分割等和子集](https://mp.weixin.qq.com/s/sYw3QtPPQ5HMZCJcT4EaLQ)是非常像的。
|
||||
[动态规划:1049. 最后一块石头的重量 II](https://programmercarl.com/1049.最后一块石头的重量II.html)这道题目其实和[动态规划:416. 分割等和子集](https://programmercarl.com/0416.分割等和子集.html)是非常像的。
|
||||
|
||||
本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。
|
||||
|
||||
[动态规划:416. 分割等和子集](https://mp.weixin.qq.com/s/sYw3QtPPQ5HMZCJcT4EaLQ)相当于是求背包是否正好装满,而本题是求背包最多能装多少。
|
||||
[动态规划:416. 分割等和子集](https://programmercarl.com/0416.分割等和子集.html)相当于是求背包是否正好装满,而本题是求背包最多能装多少。
|
||||
|
||||
这两道题目是对dp[target]的处理方式不同。这也考验的对dp[i]定义的理解。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user