int coinChange(int* coins, int coinsSize, int amount) {
int max = amount+1;
int *dp = (int*)malloc(sizeof(int)*(amount+1));
for(int i=1;i<=amount;i++){
dp[i] = max;
}
dp[0] = 0;
for(int i=1;i<=amount;i++){
for(int j=0;j<coinsSize;j++){
if(i>=coins[j]){
dp[i] = dp[i]<dp[i-coins[j]]+1?dp[i]:dp[i-coins[j]]+1;
}
}
}
return dp[amount]==max?-1:dp[amount];
}
322. Coin Change
最新推荐文章于 2021-02-15 14:52:52 发布