题目描述
略
二维数组代码
![](https://i-blog.csdnimg.cn/blog_migrate/f5a3059b800c6037617f0e6efdf61bcd.png)
优化
我们发现每次进行查找的时候,dp数组只跟上一行dp数组有关,那么我们利用滚动数组便可从二维到一维,但是循环要从后面往前,不然会变成完全背包问题。
这个自己测试一下就知道,当循环从前往后时,j是顺序循环,dp[j-w[i]]会先于dp[j]更新,也就是说,我们用新值dp[j-w[i]]去更新dp[j]了,所以出错。
代码
![](https://i-blog.csdnimg.cn/blog_migrate/2837ef8b68cec1c3af5c8cbb3af7738b.png)
为人性僻耽佳句
略
我们发现每次进行查找的时候,dp数组只跟上一行dp数组有关,那么我们利用滚动数组便可从二维到一维,但是循环要从后面往前,不然会变成完全背包问题。
这个自己测试一下就知道,当循环从前往后时,j是顺序循环,dp[j-w[i]]会先于dp[j]更新,也就是说,我们用新值dp[j-w[i]]去更新dp[j]了,所以出错。
为人性僻耽佳句