518. 零钱兑换 II
第一道完全背包的题目,抄了随想录
class Solution {
public:
int change(int amount, vector<int>& coins) {
// dp[j]:凑成总金额j的货币组合数为dp[j]
vector<int>dp(amount+1);
dp[0]=1;
// dp[j] += dp[j - coins[i]];
for(int i = 0; i < coins.size(); i ++ ) {
for (int j = coins[i]; j <= amount; j ++ ) { // 完全背包,需要重复计算之前的组合数
dp[j] += dp[j-coins[i]];
}
}
return dp[amount];
}
};