leetcode——322——Coin Change
来源:互联网 发布:python爬虫培训 编辑:程序博客网 时间:2024/06/01 07:31
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
.
Note:
You may assume that you have an infinite number of each kind of coin.
coin change 是一个DP问题,dp[n]为amount为n的change数目,那么我们从dp[1]开始就可以DP到dp[n],迭代关系式为,dp[n] = min(dp[n], dp[n-coins[m]]+1).
class Solution {public:int coinChange(vector<int>& coins, int amount) {if (amount<0 || coins.size() <= 0)return -1;if (amount == 0)return 0;sort(coins.begin(), coins.end());vector<int> dp(amount + 1, INT_MAX);dp[0] = 0;for (int i = 1; i <= amount; i++){for (int j = 0; j<coins.size(); j++){if (i>=coins[j] && dp[i - coins[j]] != INT_MAX)dp[i] = min(dp[i], dp[i - coins[j]] + 1);}}if(dp[amount]==INT_MAX) return -1;else return dp[amount];}};
0 0
- LeetCode—322. Coin Change
- leetcode——322——Coin Change
- DP——Coin Change
- LeetCode学习篇九——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
- hdu(2069)——Coin Change
- 动态规划——322. Coin Change
- 栈的链式存储结构及实现
- 关于线程的经典解答
- 滑雪(动规例题)
- 关于Map英文文档的一段翻译
- 背包问题博文收藏
- leetcode——322——Coin Change
- Android - SQLite
- HDU 1232 畅通工程(Kruskal)
- JDK的动态代理
- C_银行家算法的实现
- android处理oom异常
- 【Qt】QDockWidget
- 以二叉链表的方式创建一棵二叉树,并以非递归算法中序输出;计算二叉树的繁茂度,并判断二叉树是否为完全二叉树
- blob 存储大小