原文链接力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
代码(dp)
class Solution {
public:
int change(int amount, vector<int>& coins) {
//多重背包问题罢了 前面有一个01背包的装满问题 这是一个多重背包的装满问题罢了
vector<int>dp(5001);
for(int i=0;i<=5000;i++)
dp[i]=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];
}
};