Solution: Coin Change
Explore the dynamic programming approach to solve the coin change problem efficiently by breaking it into subproblems. Learn to use memoization to reduce recursive calls, understand why greedy methods fail, and implement a top-down strategy that balances time and space complexity.
Statement
Given an integer total that represents the target amount of money and a list of integers coins that represents different coin denominations, find the minimum number of coins required to make up the total amount. If it’s impossible to achieve the target amount using the given coins, return -1. If the target amount is 0, return 0.
Note: You can assume that we have an infinite number of each kind of coin.
Constraints:
-
coins.length -
coins[i] -
...