leetcode 322. Coin Change

来源:互联网 发布:生意 软件 编辑:程序博客网 时间:2024/05/22 15:38

leetcode好像出了点问题。。。这道题右上角是medium但是归类归在easy里面

这是一道线性动态规划题

算法的核心在于,找到min=Math.min(min,nums[i-coins[j]])这个东西,然后就水到渠成了

public class Solution {    public int coinChange(int[] coins, int amount) {        int[] nums=new int[amount+1];        //nums[0]=0;        for(int i=1;i<=amount;i++){            int min=Integer.MAX_VALUE;            for(int j=0;j<coins.length;j++){                if(i-coins[j]>=0&&nums[i-coins[j]]>=0){                    min=Math.min(min,nums[i-coins[j]]);                }            }            if(min==Integer.MAX_VALUE){                nums[i]=-1;            }else{                nums[i]=min+1;            }        }        return nums[amount];    }}


0 0
原创粉丝点击