leetcode322. Coin Change
来源:互联网 发布:worms w.m.d mac 编辑:程序博客网 时间:2024/05/29 20:01
题目
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.
思路
用动态规划来做。首先定义dp[i]表示钱总数为i时的最少零钱个数,转移方程为:dp[i] = min(dp[i], dp[i - coins[j]] + 1),能到达当前i
状态只能是从i-coins[j]过来的,因此遍历取最小值
代码
int coinChange(vector<int>& coins, int amount) { 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++) { if (coins[j] <= i) { dp[i] = min(dp[i], dp[i - coins[j]] + 1); } } } return dp[amount] > amount ? -1 : dp[amount]; }
0 0
- LeetCode322. Coin Change
- leetcode322. [DP]Coin Change
- LeetCode322. Coin Change
- leetcode322. Coin Change
- leetcode322 coin change & leetcode343 integer break
- Coin Change
- Coin Change
- Coin change
- Coin Change
- Coin change
- Coin Change
- Coin Change
- Coin Change
- Coin Change
- Coin Change
- Coin Change
- Coin Change
- Coin Change
- codeblocks中文乱码下次防止忘了
- Android下载完成更新后,没有打开安装成功界面,出现闪退问题
- Tomcat安装与集成eclipse
- 解决SpringMVC返回JSON在IE中变下载的问题
- HTML常用标签使用
- leetcode322. Coin Change
- HDU 1312 Red and Black(DFS)
- animation 动画的状态重置
- poj3468 Simple Problem with Integers (线段树)
- 递归简论
- Flask SQLAlchemy 脚本测试方法
- Android7.0 PowerManagerService(3) 核心函数updatePowerStateLocked的主要流程
- html页面的乱码问题
- Trace32 安装 (pc_linux64)