package RedBook;
import java.util.Arrays;
import java.util.Scanner;
public class Main3 {
public int coinChange(int[] coins, int amount) {
int[] dp=new int[amount+1];
Arrays.fill(dp,amount+1);
dp[0]=0;
for(int i=1;i<=amount;i++){
for(int coin:coins){
if(i>=coin){
dp[i]=Math.min(dp[i],1+dp[i-coin]);
}
}
}
return dp[amount]>=amount+1?-1:dp[amount];
}
public static void main(String[] args){
Main3 s=new Main3();
Scanner in=new Scanner(System.in);
int[] coins;
while(in.hasNext()){
int n=in.nextInt();
coins=new int[n];
for(int i=0;i<n;i++) coins[i]=in.nextInt();
int total=in.nextInt();
System.out.println(s.coinChange(coins,total));
}
in.close();
}
}
2018小红书笔试题第三题
最新推荐文章于 2025-06-19 10:15:14 发布
