码迷,mamicode.com
首页 > 其他好文 > 详细

322. Coin Change

时间:2018-04-27 13:40:37      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:info   size   detail   pre   coin   color   font   一个   happy   

技术分享图片

该题要使用动态规划,参考了链接:

https://blog.csdn.net/happyaaaaaaaaaaa/article/details/50976088

中的第二种方法,主要思路是用一个数组dp来存储硬币的数量,例如数组中第 i 个元素就保存达到目标金额为 i 的最少硬币数,凑齐钱数amount最少的硬币数为 固定钱数coins[j] 的一枚硬币,其余钱数为 amount - coins[j],那么数量为dp[amount-conis[j]]。

代码如下:

 

 1 class Solution {
 2     public int coinChange(int[] coins, int amount) {
 3         int[] dp = new int[amount + 1];  
 4         for (int i = 1; i <= amount; i++) dp[i] = 0x7fff_fffe;  
 5         for (int coin : coins)  
 6             for (int i = coin; i <= amount; i++)  
 7                 dp[i] = Math.min(dp[i], dp[i - coin] + 1);  
 8         return dp[amount] == 0x7fff_fffe ? -1 : dp[amount]; 
 9     }
10 }

 

 

END

322. Coin Change

标签:info   size   detail   pre   coin   color   font   一个   happy   

原文地址:https://www.cnblogs.com/sssysukww/p/8961725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!