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;
}
}
动态规划
最新推荐文章于 2024-09-22 11:42:19 发布