过了但挺懵的
查看原帖
过了但挺懵的
1514073
AF_no_water楼主2025/1/3 16:10
for(int i = 0; i < n; i++) {    
    for(int j = all; j >= arr[i]; j--) {
      if (dp[j - arr[i]] ) dp[j] = true;
    }
}

for(int i = n - 1; i >= 0; i++) {    
    for(int j = all; j >= arr[i]; j--) {
      if (dp[j - arr[i]] ) dp[j] = true;
    }
}

知道是01背包问题两个for一个正序遍历一个倒叙遍历来一次,dp是boolean类型的数组,可以凑就为true。 过是过了,但我凑出来的重量其实和题目要求的不一样只是个数一样。感觉怪怪的

2025/1/3 16:10
加载中...