
package Leetcode;
public class DProgrammer {
public static void main(String[] args) {
System.out.println(coins(50));
}
/*
coins(n-25)+1第一次选择25所需要的最少硬币
coins(n-20)+1第一次选择25所需要的最少硬币
coins(n-5)+1第一次选择25所需要的最少硬币
coins(n-1)+1第一次选择25所需要的最少硬币
*/
static int coins(int n){
if (n<1){
return Integer.MAX_VALUE;
}
if (n==25 || n==20 || n==5 || n==1) {
return 1;
}
int min1 = Math.min(coins(n-25),coins(n-20));
int min2 = Math.min(coins(n-5),coins(n-1));
return Math.min(min1,min2)+1;
}
}
48万+

被折叠的 条评论
为什么被折叠?



