# leetcode 322. Coin Change

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.

ac代码：

class Solution {
public:
int coinChange(vector<int>& coins, int amount) {
if(amount == 0)
return 0;
if(coins.size() == 0)
return -1;
int dp[amount+1] = {0};
for(int i = 0; i < coins.size(); i++){
if(coins[i] <= amount)
dp[coins[i]] = 1;
}
for(int i = 1; i < amount; i++){
if(dp[i] == 0)
continue;
for(int j = 0; j < coins.size(); j++){
int tmp = coins[j] + i;
if(tmp <= amount){
if(dp[tmp] == 0)
dp[tmp] = dp[i] + 1;
else
dp[tmp] = min(dp[i]+1, dp[tmp]);
}
}
}
if(dp[amount])
return dp[amount];
else
return -1;
}
};

• 本文已收录于以下专栏：

## [leetcode] 322. Coin Change

You are given coins of different denominations and a total amount of money amount. Write a function...
• TstsUgeg
• 2015年12月28日 11:33
• 1337

## [LeetCode 322] Coin Change

You are given coins of different denominations and a total amount of money amount. Write a functio...
• sbitswc
• 2016年01月12日 16:22
• 2667

## LeetCode OJ 322. Coin Change DP求解

• bruce128
• 2016年03月17日 01:11
• 1599

## leetcode 322. Coin Change-硬币交换|动态规划

• happyaaaaaaaaaaa
• 2016年03月24日 23:19
• 5481

## 322. Coin Change(C++实现)

• jingmiaa
• 2016年05月23日 21:07
• 352

## 322. Coin Change LeetCode

• youthinkwu
• 2016年03月16日 18:19
• 86

## LeetCode *** 322. Coin Change

• treeshy
• 2016年04月23日 19:15
• 85

## 【LeetCode】322. Coin Change

Difficulty: Medium You are given coins of different denominations and a total amount of money a...
• Juxin_Lin
• 2016年11月01日 20:35
• 104

## LeetCode—322. Coin Change

322. Coin Change Total Accepted: 837 Total Submissions: 3093 Difficulty: Medium You are gi...
• corpsepiges
• 2015年12月28日 09:33
• 399

## LeetCode[518]Coin Change 2(Java)

You are given coins of different denominations and a total amount of money. Write a function to comp...
• sunday0904
• 2017年10月08日 20:05
• 217

举报原因： 您举报文章：leetcode 322. Coin Change 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)