网址:https://leetcode.com/problems/coin-change/
典型的动态规划问题,类比背包问题,这就是完全背包问题
- 问题的阶段:对数值 i 凑硬币
- 问题的状态:对数值 i 凑硬币,使得硬币数最少
- 问题的决策:第 j 枚硬币使用还是不使用
class Solution {
public:
int coinChange(vector<int>& coins, int amount) {
vector<int> ans(amount+, amount+);
ans[] = ;
for(int i=; i<=amount; i++)
{
for(int j = ; j<coins.size(); j++)
{
if(i >= coins[j])
ans[i] = min(ans[i], ans[i-coins[j]]+);
}
}
return ans[amount]==(amount+) ? - : ans[amount];
}
};