-
Notifications
You must be signed in to change notification settings - Fork 0
/
322-coin-change.cpp
61 lines (41 loc) · 1.29 KB
/
322-coin-change.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <vector>
using namespace std;
// class Solution {
// public:
// int coinChange(vector<int>& coins, int amount){
// vector<int> rem(amount + 1);
// return sub_coinchange(coins, amount, rem);
// }
// int sub_coinchange(vector<int>& coins, int amount, vector<int>& rem) {
// cout << "amout: " << amount << " " << rem[amount] << " " << INT32_MAX << endl;
// int min_res = INT32_MAX;
// if(amount < 0){
// return -1;
// }
// if(amount == 0){
// return 0;
// }
// if (rem[amount] != 0) return rem[amount];
// for(int i: coins){
// if(i <= amount){
// int tmp = sub_coinchange(coins, amount - i, rem);
// // cout << "tmp: " << tmp << endl;
// if(tmp != -1){
// min_res = min(tmp + 1, min_res);
// }
// }
// }
// rem[amount] = min_res == INT32_MAX ? -1 : min_res;
// return rem[amount];
// }
// };
int main(){
Solution sol;
// vector<int> coins({3, 7, 405, 436});
// int amount = 8839;
vector<int> coins({1, 2, 5});
int amount = 11;
cout << sol.coinChange(coins, amount) << endl;
return 0;
}