Solution: Coin Change Problem
This review provides a detailed analysis of the different ways to solve The Coin Change Problem
We'll cover the following...
We'll cover the following...
Solution #1: Brute Force
To count the total number of solutions, we divide the solution into two sets:
- Solutions that do not contain mth denomination (or
denoms[denomsLength-1]). - Solutions that contain at least one
denoms[denomsLength-1].
Pseudocode
countChange(denoms[], denomsLength, amount):
return (countChange(denoms[], denomsLength-1, amount)
+countChange(denoms[], denomsLength, amount-denoms[denomsLength-1]))
However, notice that the function above recomputes the same subproblem several times.
Time Complexity
The time complexity if this solution is in . Why? Because for every coin, we have 2 options: Either include it or exclude it. If we think in terms of binary, it’s 0 to exclude and 1 to include. For example, if we have 2 coins, the options will be 00, 01, 10, 11 which is 4 or options. So extrapolating to ...