LeetCode 322 Coin Change (完全背包)
来源:互联网 发布:mysql配置文件的配置项 编辑:程序博客网 时间:2024/06/05 19:12
You are given coins of different denominations and a total amount of moneyamount. 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
.
Note:
You may assume that you have an infinite number of each kind of coin.
题目分析:因为个数是无穷的,所以就是一个完全背包计数问题,dp[i]表示合到i所需要的最少个数,dp初始化为无穷大,dp[0] = 0
public class Solution { public int coinChange(int[] coins, int amount) { int[] dp = new int[amount + 1]; Arrays.fill(dp, Integer.MAX_VALUE); dp[0] = 0; for(int i = 0; i < coins.length; i ++) { for(int j = 0; j <= amount; j ++) { int pre = j - coins[i]; if(pre >= 0 && dp[pre] < Integer.MAX_VALUE) { dp[j] = Math.min(dp[j], dp[pre] + 1); } } } if(dp[amount] == Integer.MAX_VALUE) { return -1; } 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
- (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
- Uva 674 Coin Change 完全背包
- uva 674Coin Change(完全背包)
- uva 674 Coin Change(完全背包)
- UVaOJ-674 Coin Change (完全背包)
- uva674 - Coin Change(完全背包)
- Thinkpad T550 安装Ubuntu16.04 配置 Shadowsocks 安装fcitx五笔98词库
- Git的安装配置
- HBASE安装
- 函数重载
- Docker这么火,但你对它的原生网络知多少?
- LeetCode 322 Coin Change (完全背包)
- [Bluetooth Spec Vol2.A]RADIO SPECIFICATION
- 存储系统
- Kylin环境搭建
- MATLAB中改变默认工作路径(Current Folder)的2种方法
- 正则表达式高级技巧及实例详解
- HM16学习笔记
- JSP项目打开默认主页
- 关于NSPredicate的其他说明和注意事项,以及技巧