换钱所需要的最少钱币个数
public static int mostlessMoneyNumerMethodOfPress(int money, int[] chargeMoney) {
if(money<0||chargeMoney==null||chargeMoney.length==0) {
return 0;
}
int[] result = new int[money+1];
for(int j=1;j<=money;j++) {
result[j] = Integer.MAX_VALUE;
if (j-chargeMoney[0]>=0 && result[j-chargeMoney[0]]!=Integer.MAX_VALUE){
result[j] = result[j-chargeMoney[0]]+1;
}
}
int left = 0;
for(int i=1;i<chargeMoney.length;i++) {
for(int j=0;j<=money;j++) {
left = Integer.MAX_VALUE;
if (j-chargeMoney[i]>=0 && result[j-chargeMoney[i]]!=Integer.MAX_VALUE){
left = result[j-chargeMoney[i]]+1;
}
result[j] = Math.min(left, result[j]);
}
}
return result[money];
}