aboutsummaryrefslogtreecommitdiff
path: root/other/coin_change.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/coin_change.cpp')
-rw-r--r--other/coin_change.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/other/coin_change.cpp b/other/coin_change.cpp
new file mode 100644
index 0000000..5d31f7a
--- /dev/null
+++ b/other/coin_change.cpp
@@ -0,0 +1,22 @@
+#include "leetcode.h"
+
+class Solution {
+public:
+ int coinChange(vector<int> &coins, int amount) {
+ int m = amount + 1;
+ vector<int> dp(amount + 1, m);
+ dp[0] = 0;
+ for (int i = 1; i <= amount; i++)
+ for (int j = 0; j < coins.size(); j++)
+ if (coins[j] <= i)
+ dp[i] = min(dp[i], dp[i - coins[j]] + 1);
+ return dp[amount] > amount ? -1 : dp[amount];
+ }
+};
+
+int main() {
+ vector<int> coins = {1, 2, 5};
+ int amount = 11;
+ Solution obj;
+ cout << obj.coinChange(coins, amount);
+}