Coin Change
2016-02-19 00:30
267 查看
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
Example 1:
coins =
return
Example 2:
coins =
return
Note:
You may assume that you have an infinite number of each kind of coin.
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.
class Solution { public: int coinChange(vector<int>& coins, int amount) { vector<int> buf(amount+1, -1); buf[0] = 0; int n = coins.size(); for (int i = 1; i <= amount; i++) { for (int j = 0; j < n; j++) { if (i-coins[j] >= 0 && buf[i-coins[j]] >= 0) { if (buf[i] == -1) { buf[i] = buf[i-coins[j]] + 1; } else { buf[i] = min(buf[i], buf[i-coins[j]]+1); } } } } return buf[amount]; } };
相关文章推荐
- AtomicLong
- 20个高级Java面试题汇总
- 南阳题目25-A Famous Music Composer
- [原创开源项目]EPUBBuilder一款在线的epub电子书编辑工具
- WebBrowser 设置IE兼容性
- Linux下编写线程池
- ANDROID_MARS学习笔记_S02_006_APPWIDGET2_PendingIntent及RemoteViews实现widget绑定点击事件
- 如何学习一门新的编程语言
- A. Again Twenty Five
- sql 重置数据库自增字段
- ELK遇到的故障或小难点
- C语言实现单链表逆序与逆序输出实例
- JQuery 验证插件validate的showErrors参数的使用
- Android FinalDb使用
- Java代理模式 动态代理 的应用场景
- Struts标签
- java 泛型数组
- Python中的swap函数
- hdoj 5501 The Highest Mark 【贪心 + 0-1背包】
- 排序算法(三)——冒泡排序