【力扣hot100题】(084)零钱兑换
和上一题差不多,可以说几乎完全没有区别。
不过就是把我上一题想的“字典”改成了零钱。
写的时候遇到一个小问题,就是题目给的零钱不一定是正序排序的,所以循环条件要变一下,改成遍历所有硬币。
class Solution {
public:
int coinChange(vector<int>& coins, int amount) {
vector<int> change(amount+1,amount+1);
change[0]=0;
for(int i=1;i<=amount;i++){
for(int j=0;j<coins.size();j++){
if(i>=coins[j]) change[i]=min(change[i],change[i-coins[j]]+1);
}
}
return change[amount]>amount?-1:change[amount];
}
};