LeetCode 322 Coin Change
来源:互联网 发布:java视频教程下载 编辑:程序博客网 时间:2024/05/22 09:00
You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money cannot be made up by any combination of the coins, return -1
.
Example 1:
coins = [1, 2, 5]
, amount = 11
return 3
(11 = 5 + 5 + 1)
Example 2:
coins = [2]
, amount = 3
return -1
.
本题是换零钱问题,返回最小的零钱数目
我们维护一个一维动态数组dp,其中dp[i]表示钱数为i时的最小硬币数的找零,递推式为:
dp[i] = min(dp[i], dp[i - coins[j]] + 1);
代码如下:class Solution { public int coinChange(int[] coins, int amount) { int dp[] = new int [amount+1]; dp[0] = 0; for (int i = 1; i<=amount; i++) { int min = Integer.MAX_VALUE; for (int j = 0; j < coins.length; j++) { if(coins[j]<=i&&dp[i - coins[j]] != -1) { min = Math.min(min,dp[i-coins[j]]+1); }} dp[i] = min == Integer.MAX_VALUE ? -1 : min; } if(dp[amount]== Integer.MAX_VALUE) { return -1; }else return dp[amount]; } }
阅读全文
0 0
- [LeetCode 322] Coin Change
- leetcode 322 Coin Change
- 【LeetCode-322】Coin Change
- 【LeetCode-322】Coin Change
- (LeetCode 322) Coin Change
- 322 LeetCode Coin Change
- LeetCode 322 Coin Change
- Leetcode (322) Coin Change
- Leetcode 322, Coin Change
- LeetCode 322 Coin Change
- LeetCode 322 Coin Change
- LeetCode.322 Coin Change
- [Leetcode] #322 Coin Change (DP)
- LeetCode 322 Coin Change (完全背包)
- leetcode Coin Change
- Leetcode: Coin Change
- LeetCode Coin Change
- [leetcode] 322. Coin Change
- Git使用手册:使用SSH Key及配置SSH key公钥
- 【SSD】用caffe-ssd框架MobileNet网络训练自己的数据集
- Android项目代码混淆
- Qt网络编程之QNetworkReply
- 高级Java程序员值得拥有的10本书
- LeetCode 322 Coin Change
- 6. GUI
- 为什么ping不通某网站,但是却可以访问该网站?
- mysql索引总结
- StringBuilder String string.Concat 字符串拼接速度
- 前百度移动框架总工程师分享iOS开发
- CSS3的REM设置字体大小
- iOS 与 JS 交互开发知识总结
- Android 自定义带动画的dialog