Merge pull request #1 from zhicheng-lee/zhicheng-lee-patch-1

更新 背包问题理论基础完全背包.md Java版本
This commit is contained in:
zhicheng lee
2022-01-31 11:55:35 +08:00
committed by GitHub

View File

@ -183,11 +183,9 @@ private static void testCompletePack(){
int[] value = {15, 20, 30}; int[] value = {15, 20, 30};
int bagWeight = 4; int bagWeight = 4;
int[] dp = new int[bagWeight + 1]; int[] dp = new int[bagWeight + 1];
for (int i = 0; i < weight.length; i++){ for (int i = 0; i < weight.length; i++){ // 遍历物品
for (int j = 1; j <= bagWeight; j++){ for (int j = weight[i]; j <= bagWeight; j++){ // 遍历背包容量
if (j - weight[i] >= 0){ dp[j] = Math.max(dp[j], dp[j - weight[i]] + value[i]);
dp[j] = Math.max(dp[j], dp[j - weight[i]] + value[i]);
}
} }
} }
for (int maxValue : dp){ for (int maxValue : dp){
@ -201,8 +199,8 @@ private static void testCompletePackAnotherWay(){
int[] value = {15, 20, 30}; int[] value = {15, 20, 30};
int bagWeight = 4; int bagWeight = 4;
int[] dp = new int[bagWeight + 1]; int[] dp = new int[bagWeight + 1];
for (int i = 1; i <= bagWeight; i++){ for (int i = 1; i <= bagWeight; i++){ // 遍历背包容量
for (int j = 0; j < weight.length; j++){ for (int j = 0; j < weight.length; j++){ // 遍历物品
if (i - weight[j] >= 0){ if (i - weight[j] >= 0){
dp[i] = Math.max(dp[i], dp[i - weight[j]] + value[j]); dp[i] = Math.max(dp[i], dp[i - weight[j]] + value[j]);
} }