public static int coinChange(int[] coin, int n){
int [][]dp =new int[coin.length+1][n+1];
for(int i=0;i<coin.length+1;i++){
dp[i][0]=0;
}
for(int i=0;i<n+1;i++){
dp[0][i]=Integer.MAX_VALUE;
}
for(int i=1;i<n+1;i++){
for(int j=1;j<coin.length+1;j++){
if(i<coin[j-1]){
dp[j][i]=dp[j-1][i];
continue;
}
if(dp[j-1][i]>=dp[j][i-coin[j-1]]+1){
dp[j][i]=dp[j][i-coin[j-1]]+1;
}else{
dp[j][i]=dp[j-1][i];
}
}
}
return dp[coin.length][n];
}
硬币找零(动态规划问题)
最新推荐文章于 2024-09-11 09:00:00 发布