C++代码
完全背包问题
class Solution {
public:
int change(int amount, vector<int>& coins)
{
vector<int> dp(amount+1, 0);
int len = coins.size();
dp[0] = 1;
for (int i = 0; i < len; ++i)
{
for (int j = coins[i]; j <= amount; ++j)
{
dp[j] = dp[j] + dp[j - coins[i]];
// cout << "dp[" << j << "] " << dp[j] << " ";
}
// cout << endl;
}
return dp[amount];
}
};