题目链接:https://leetcode.cn/problems/coin-change-2/
题目如下:
class Solution {
public:
int change(int amount, vector<int>& coins) {
//dp[i]:组成总金额为i的组合数
vector<int> dp(amount+1,0);
dp[0]=1;
//注:先遍历物品,再遍历容量,得出的是组合数
//先遍历容量,再遍历物品,得出的是排列数
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];
}
};