欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

动态规划算法leetcode.322

时间:2023-06-03

public static int coinChange(int[] coins, int amount) { int n=coins.length; Arrays.sort(coins);//排序 int[] dp=new int[amount+1];//组成i最少数量 Arrays.fill(dp,amount+1);//无法组成数量为amount+1 dp[0]=0;//初始化 for (int i = 1; i <=amount; i++) { //遍历每个coin并找出最少数量 for (int j = 0; j < n; j++) { if(coins[j]>i) break; else dp[i]=Math.min(dp[i],dp[i-coins[j]]+1); } } if(dp[amount]>amount) return -1; else return dp[amount]; }

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。