Mental Model
We want to find how many different ways we can make a total amount using given coin values, counting all combinations.
Analogy: Imagine you have different types of candies and want to fill a bag with a certain number of candies. You count all the ways to combine candies to reach that number.
coins: [1, 2, 3] amount: 4 ways array (index = amount): [1, 0, 0, 0, 0] ā Initially, ways[0] = 1 means there is 1 way to make amount 0 (use no coins).