leetcode-322硬币找零
来源:互联网 发布:网络防御系统 编辑:程序博客网 时间:2024/06/06 01:26
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.
class Solution {public: int coinChange(vector<int>& coins, int amount) { /*int n=coins.size(); int temp=INT_MAX; int dp[n][amount+1]={0}; for(int j=1; j<=amount; ++j) { dp[0][j]=temp; if(j>= coins[0] && dp[0][j-coins[0]] != temp) dp[0][j]=dp[0][j-coins[0]]+1; } int left=0; for(int i=1; i<n; ++i) { for(int j=1; j<=amount; ++j) { left=temp; if(j>=coins[i] && dp[i][j-coins[i]] != temp) left=dp[i][j-coins[i]]+1; dp[i][j]=min(left,dp[i-1][j]); } } return dp[n-1][amount]!=temp? dp[n-1][amount]:-1;*/ int Max = amount + 1; vector<int> dp(amount + 1, Max); dp[0] = 0; for (int i = 1; i <= amount; i++) { for (int j = 0; j < coins.size(); j++) {322 if (coins[j] <= i) { dp[i] = min(dp[i], dp[i - coins[j]] + 1); } } } return dp[amount] > amount ? -1 : dp[amount]; }};
0 0
- leetcode-322硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零
- 硬币找零算法
- 最少硬币找零问题
- 硬币找零问题
- System.arraycopy实现数组之间的复制以及Arrays类的copyOf()实现数组复制
- java高级_集合
- DataBase-group by, having 和 where 区别
- 几个关于换行的属性
- 2008年东莞小学竞赛试题四 石子归并
- leetcode-322硬币找零
- 递归--字符串逆序
- 欢迎使用CSDN-markdown编辑器
- MySql获取所有表名
- 规范-Redis使用
- Enum 枚举值 (一) 获取描述信息
- MongoDB 查询文档(四)
- 百度文本编辑器在asp.net 中的应用
- PHP使用第三方即时获取物流动态