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

#include "stdafx.h" #include #include #include using namespace std; class Solution { public: in...

(LeetCode 322) Coin Change

Q: You are given coins of different denominations and a total amount of money amount. Write a funct...

leetcode 322. Coin Change

You are given coins of different denominations and a total amount of money amount. Write a function ...

Leetcode 322. Coin Change

322. Coin Change Total Accepted: 25730 Total Submissions: 102022 Difficulty: Medium You are g...

322. Coin Change

You are given coins of different denominations and a total amount of money amount. Write a function ...

Leetcode 322. Coin Change (Medium) (cpp)

Leetcode 322. Coin Change (Medium) (cpp)

322. Coin Change

You are given coins of different denominations and a total amount of money amount. Write a function ...

322. Coin Change

举报原因： 您举报文章：深度学习：神经网络中的前向传播和反向传播算法推导 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)