1,题目描述
2,题目分析
3,代码实现
class Solution {
public:
int coinChange(vector<int>& coins, int amount) {
int dp[amount+1];
dp[0] = 0;
int n = coins.size();
for(int i = 1; i<=amount;i++){
dp[i] = INT_MAX;
for(int j = 0; j<n ;j++){
if(i-coins[j]>=0 && dp[i-coins[j]]<INT_MAX){
dp[i]=min(dp[i], dp[i-coins[j]]+1);
}
}
}
if(dp[amount]<INT_MAX)
return dp[amount];
else
return -1;
}
};