第十七周 leetcode 322. Coin Change(Medium)
来源:互联网 发布:网络经营食品管理办法 编辑:程序博客网 时间:2024/06/10 21:08
题目描述:
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.
解题思路:
动态规划的思路:
dp[i]表示组成数字i需要的最少数量。
状态转移方程:dp[i]=min(dp[i-coins[j]]+1,dp[i]);
代码:
class Solution {public: int coinChange(vector<int>& coins, int amount) { int dp[amount + 1]; dp[0] = 0; for(int i = 1;i <= amount;i++) { dp[i] = INT_MAX; 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); } } int res = dp[amount]; return res == INT_MAX ? -1 : res; }};
代码运行结果:
阅读全文
0 0
- 第十七周 leetcode 322. Coin Change(Medium)
- LeetCode 322. Coin Change(java medium)
- Leetcode 322. Coin Change (Medium) (cpp)
- LeetCode解题报告 322. Coin Change [medium]
- Leetcode: 322. Coin Change(Week8, Medium)
- 322. Coin Change -Medium
- [leetcode] 322. Coin Change
- leetcode 322. Coin Change
- Leetcode 322. Coin Change
- Leetcode 322. Coin Change
- 322. Coin Change LeetCode
- 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
- Linux(CentOS7.1)修改默认yum源为国内的阿里云yum源
- 做人狠一点
- Linux下线程的同步与互斥以及死锁问题整理
- 51Nod-1831-小C的游戏
- ROS官网初级教程学习总结(5-9)
- 第十七周 leetcode 322. Coin Change(Medium)
- 机器学习实战之决策树算法pandas实现
- 美国五大可视分析中心
- bzoj 3505: [Cqoi2014]数三角形
- Spring Boot 系列(二)单元测试&网络请求
- python练习5
- 做人要狠一点
- 哈夫曼编码和译码
- 临时解决Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿一例(不用删plist文件)