Untitled
unknown
plain_text
5 months ago
636 B
3
Indexable
class Solution { public: int change(int amount, vector<int>& coins) { vector<vector<int>> dp(coins.size()+1, vector<int>(amount+1, 0)); sort(coins.begin(), coins.end()); // for each coin, # ways to sum to 0 is 1 for(int c=0;c<=coins.size();c++) { dp[c][0] = 1; } for(int c=coins.size()-1;c>=0;c--) { for(int a=0;a<=amount;a++) { if(a-coins[c]>=0) { dp[c][a] = dp[c+1][a]; dp[c][a] += dp[c][a-coins[c]]; } } } return dp[0][amount]; } };
Editor is loading...
Leave a Comment