mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2026-02-02 18:39:09 +08:00
更新图床
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
|
||||
# 本周小结!(动态规划系列三)
|
||||
|
||||
本周我们正式开始讲解背包问题,也是动规里非常重要的一类问题。
|
||||
|
||||
背包问题其实有很多细节,如果了解个大概,然后也能一气呵成把代码写出来,但稍稍变变花样可能会陷入迷茫了。
|
||||
@@ -15,7 +17,7 @@
|
||||
|
||||
关于其他几种常用的背包,大家看这张图就了然于胸了:
|
||||
|
||||

|
||||

|
||||
|
||||
本文用动规五部曲详细讲解了01背包的二维dp数组的实现方法,大家其实可以发现最简单的是推导公式了,推导公式估计看一遍就记下来了,但难就难在确定初始化和遍历顺序上。
|
||||
|
||||
@@ -61,14 +63,14 @@ for(int i = 1; i < weight.size(); i++) { // 遍历物品
|
||||
物品为:
|
||||
|
||||
| | 重量 | 价值 |
|
||||
| --- | --- | --- |
|
||||
| ----- | ---- | ---- |
|
||||
| 物品0 | 1 | 15 |
|
||||
| 物品1 | 3 | 20 |
|
||||
| 物品2 | 4 | 30 |
|
||||
|
||||
来看一下对应的dp数组的数值,如图:
|
||||
|
||||

|
||||

|
||||
|
||||
最终结果就是dp[2][4]。
|
||||
|
||||
@@ -120,7 +122,7 @@ for(int i = 0; i < weight.size(); i++) { // 遍历物品
|
||||
|
||||
一维dp,分别用物品0,物品1,物品2 来遍历背包,最终得到结果如下:
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## 周三
|
||||
|
||||
Reference in New Issue
Block a user