题解 | #兑换零钱#

兑换零钱

http://www.nowcoder.com/practice/67b93e5d5b85442eb950b89c8b77bc72

完全背包,注意dp的初始化
import java.util.*;
public class Main{
    static int maxValue=0;
    public static void main(String []args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int amin=input.nextInt();
        int[] num=new int[n];
        for(int i=0;i<n;i++){
            num[i]=input.nextInt();
        }
        
        int[]dp=new int [amin+1];
        Arrays.fill(dp,Integer.MAX_VALUE-2);
        dp[0]=0;
       for(int i=0;i<n;i++){
           for(int j=num[i];j<=amin;j++){
               dp[j]=Math.min(dp[j],dp[j-num[i]]+1);
           }
       }
        if(dp[amin]==Integer.MAX_VALUE-2)
            System.out.println(-1);
        else 
            System.out.println(dp[amin]);
    }
    
}


全部评论

相关推荐

10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务