题意
完全背包与01背包的区别,就是物品能否重复利用,因为物品数量不被限制,所以遍历顺序没有要求,容量不需要再倒序遍历。
解法
private static int getMaxValue(int[] weight, int[] value, int capacity) {
int m = weight.length;
int[] dp = new int[capacity + 1];
for (int i = 0; i < m; i++) {
for (int j = weight[i]; j <= capacity; j++) {
dp[j] = Math.max(dp[j], dp[j - weight[i]] + value[i]);
}
}
return dp[capacity];
}
网友评论