From 816f99b53e5916df8557e73149cc7908209be8f1 Mon Sep 17 00:00:00 2001 From: Krishna Singh Date: Sun, 5 Oct 2025 21:20:05 +0530 Subject: [PATCH] Create coin_change_II.py --- dynamic_programming/coin_change_II.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 dynamic_programming/coin_change_II.py diff --git a/dynamic_programming/coin_change_II.py b/dynamic_programming/coin_change_II.py new file mode 100644 index 000000000000..5581780b1139 --- /dev/null +++ b/dynamic_programming/coin_change_II.py @@ -0,0 +1,21 @@ +from typing import List + +class Solution: + def change(self, amount: int, coins: List[int]) -> int: + cache = {} + def dfs(i,a): + if a == amount: + return 1 + if a > amount: + return 0 + if i == len(coins): + return 0 + if (i,a) in cache: + return cache[(i,a)] + cache[(i,a)] = dfs(i,a + coins[i]) +dfs(i+1, a) + return cache[(i,a)] + return dfs(0,0) + +sol = Solution() +# for example +print(sol.change(5, [1,2,5])) # Output: 4