Time Cost
15min11s
Implementation
DP
Code
- My Solution
class Solution { public: int coinChange(vector<int>& coins, int amount) { sort(coins.begin(), coins.end()); vector<int> fewestnum(amount + 1, -1); fewestnum[0] = 0; for (int coin: coins) { if (coin <= amount) { fewestnum[coin] = 1; } } for (int i=1; i<=amount; i++) { for (int coin: coins) { if (i - coin >= 0 && fewestnum[i-coin] != -1) { if (fewestnum[i] == -1) { fewestnum[i] = fewestnum[i-coin]+1; }else{ fewestnum[i] = min(fewestnum[i-coin]+1, fewestnum[i]); } } } } return fewestnum[amount]; } };