Member-only story
Coin Change | DP| 1D
5 min readAug 15, 2023
Recursive | Bottom up DP approach
You are given an integer array coins
representing coins of different denominations and an integer amount
representing a total amount of money.
Return the fewest number of coins that you need to make up that amount. If that amount of money cannot be made up by any combination of the coins, return -1
.
You may assume that you have an infinite number of each kind of coin.
Example 1:
Input: coins = [1,2,5], amount = 11
Output: 3
Explanation: 11 = 5 + 5 + 1
Brute Force
- At the top level, the algorithm explores the possibilities of choosing a coin denomination: 1, 2, and 5.
- For each coin denomination, the algorithm makes a recursive call to
coinChange
with the remaining amount after subtracting the chosen coin value. - The process repeats at each subsequent level until the amount becomes 0 or negative.
- The
minCoinsToReachAmount
function calculates the minimum number of coins needed to…