LeetCode518零钱兑换II
原题
完全背包
类似 494目标和都是求方案数,但494是01背包
题解
class Solution {
public int change(int amount, int[] coins) {
int[] dp = new int[amount+1];
dp[0] = 1;
for(int i=0;i<coins.length;i++){
//这里注意j从当前币值开始,可省去与当前币值比大小
for(int j=coins[i];j<=amount;j++){
//当求方案数时,就把原来求值时的选min/max换为相加
dp[j] = dp[j] + dp[j-coins[i]];
}
}
return dp[amount];
}
}

浙公网安备 33010602011771号