力扣322 零钱兑换
题目要求返回可以凑成总金额的最少硬币数。
public int coinChange(int[] coins, int amount){
int[] dp=new int[amount+1];
Arrays.fill(dp,amount+1);
dp[0]=0;
for(int i=0;i<coins.length;i++){
for(int j=coins[i];j<=amount;j++){
dp[j]=Math.min(dp[j],dp[j-coins[i]]+1);
}
}
return dp[amount]==amount+1?-1:dp[amount];
}
其它方法参考: