假设你发现还有第四件商品可偷——一个iPhone!
此时需要重新执行前面所做的计算吗?不需要。别忘了,动态规划逐步计算最大价值。到目前为止,计算出的最大价值如下。
这意味着背包容量为4磅时,你最多可偷价值3500美元的商品。但这是以前的情况,下面再添加表示iPhone的行。
最大价值可能发生变化!请尝试填充这个新增的行,再接着往下读。
我们从第一个单元格开始。 iPhone可装入容量为1磅的背包。之前的最大价值为1500美元,但iPhone价值2000美元,因此该偷iPhone而不是吉他。
在下一个单元格中,你可装入iPhone和吉他。
对于第三个单元格,也没有比装入iPhone和吉他更好的选择了。
对于最后一个单元格,情况比较有趣。当前的最大价值为3500美元,但你可偷iPhone,这将余下3磅的容量。
3磅容量的最大价值为2000美元!再加上iPhone价值2000美元,总价值为4000美元。新的最大价值诞生了!
最终的网格如下。
AMY :图画错了,哪错自己找。
问题:沿着一列往下走时,最大价值有可能降低吗?
请找出这个问题的答案,再接着往下读。
答案:不可能。每次迭代时,你都存储当前的最大价值。最大价值不可能比以前低!