Problem Statement
Given an array of unique positive integers representing coin denominations and a single positive integer n representing a target amount of money, implement a function that returns the number of ways to make change for that target amount.
Sample Input & Output
n = 6 denominations = [1, 5]
Sample Output
2 # 1x coin 5 + 5x coin 1 and 6 x coin 1
Code #1
def number_of_ways_to_make_changes(n, denominations): ways = [0] * (n + 1) ways[0] = 1 for denom in denominations: for amount in range(1, n + 1): if amount >= denom: ways[amount] += ways[amount - denom] return ways[n]
Notes
- Assumption: if n is 0, means there is 0 coin combination available.
Credits
- Algoexpert for the problem statement.
- Ibrahim Rifath for the cover image (https://unsplash.com/photos/OApHds2yEGQ).
Top comments (0)