和01背包的区别就是可以无限取一个物品,这样就要求外循环是容量,内循环是物品的种类 利用二维循环也是比较好理解 for (int i = 1; i <= n; i++) { for (int j = v[i]; j <= V; j++) { int num = j / v[i]; for (int k = 1; k <= num; k++) { dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - k * v[i]] + k * w[i]); } } } import java.util....