mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2026-02-02 18:39:09 +08:00
‘周总结连接替换完成
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## 周一
|
||||
|
||||
[动态规划:目标和!](https://mp.weixin.qq.com/s/2pWmaohX75gwxvBENS-NCw)要求在数列之间加入+ 或者 -,使其和为S。
|
||||
[动态规划:目标和!](https://programmercarl.com/0494.目标和.html)要求在数列之间加入+ 或者 -,使其和为S。
|
||||
|
||||
所有数的总和为sum,假设加法的总和为x,那么可以推出x = (S + sum) / 2。
|
||||
|
||||
@@ -39,7 +39,7 @@ dp数组状态变化如下:
|
||||
|
||||
## 周二
|
||||
|
||||
这道题目[动态规划:一和零!](https://mp.weixin.qq.com/s/x-u3Dsp76DlYqtCe0xEKJw)算有点难度。
|
||||
这道题目[动态规划:一和零!](https://programmercarl.com/0474.一和零.html)算有点难度。
|
||||
|
||||
**不少同学都以为是多重背包,其实这是一道标准的01背包**。
|
||||
|
||||
@@ -78,7 +78,7 @@ dp[i][j] = max(dp[i][j], dp[i - zeroNum][j - oneNum] + 1);
|
||||
|
||||
此时01背包我们就讲完了,正式开始完全背包。
|
||||
|
||||
在[动态规划:关于完全背包,你该了解这些!](https://mp.weixin.qq.com/s/akwyxlJ4TLvKcw26KB9uJw)中我们讲解了完全背包的理论基础。
|
||||
在[动态规划:关于完全背包,你该了解这些!](https://programmercarl.com/背包问题理论基础完全背包.html)中我们讲解了完全背包的理论基础。
|
||||
|
||||
其实完全背包和01背包区别就是完全背包的物品是无限数量。
|
||||
|
||||
@@ -100,7 +100,7 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
**那么为什么要先遍历物品,在遍历背包呢?** (灵魂拷问)
|
||||
|
||||
其实对于纯完全背包,先遍历物品,再遍历背包 与 先遍历背包,再遍历物品都是可以的。我在文中[动态规划:关于完全背包,你该了解这些!](https://mp.weixin.qq.com/s/akwyxlJ4TLvKcw26KB9uJw)也给出了详细的解释。
|
||||
其实对于纯完全背包,先遍历物品,再遍历背包 与 先遍历背包,再遍历物品都是可以的。我在文中[动态规划:关于完全背包,你该了解这些!](https://programmercarl.com/背包问题理论基础完全背包.html)也给出了详细的解释。
|
||||
|
||||
这个细节是很多同学忽略掉的点,其实也不算细节了,**相信不少同学在写背包的时候,两层for循环的先后循序搞不清楚,靠感觉来的**。
|
||||
|
||||
@@ -110,7 +110,7 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
## 周四
|
||||
|
||||
在[动态规划:给你一些零钱,你要怎么凑?](https://mp.weixin.qq.com/s/PlowDsI4WMBOzf3q80AksQ)中就是给你一堆零钱(零钱个数无限),为凑成amount的组合数有几种。
|
||||
在[动态规划:给你一些零钱,你要怎么凑?](https://programmercarl.com/0518.零钱兑换II.html)中就是给你一堆零钱(零钱个数无限),为凑成amount的组合数有几种。
|
||||
|
||||
**注意这里组合数和排列数的区别!**
|
||||
|
||||
@@ -134,7 +134,7 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
其实这是一种错觉,或者说对动规理解的不够深入!
|
||||
|
||||
我在动规专题开篇介绍[关于动态规划,你该了解这些!](https://mp.weixin.qq.com/s/ocZwfPlCWrJtVGACqFNAag)中就强调了 **递推公式仅仅是 动规五部曲里的一小部分, dp数组的定义、初始化、遍历顺序,哪一点没有搞透的话,即使知道递推公式,遇到稍稍难一点的动规题目立刻会感觉写不出来了**。
|
||||
我在动规专题开篇介绍[关于动态规划,你该了解这些!](https://programmercarl.com/动态规划理论基础.html)中就强调了 **递推公式仅仅是 动规五部曲里的一小部分, dp数组的定义、初始化、遍历顺序,哪一点没有搞透的话,即使知道递推公式,遇到稍稍难一点的动规题目立刻会感觉写不出来了**。
|
||||
|
||||
此时相信大家对动规五部曲也有更深的理解了,同样也验证了Carl之前讲过的:**简单题是用来学习方法论的,而遇到难题才体现出方法论的重要性!**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user