Mental Model
We want to find how many different ways we can make a total amount using given coin values, counting all combinations without caring about order.
Analogy: Imagine you have different types of Lego blocks (coins) and you want to build a tower of a certain height (amount). You want to know in how many different ways you can stack these blocks to reach exactly that height.
Coins: [1, 2, 3] Amount: 4 Ways to make 4: 1 -> 1 -> 1 -> 1 1 -> 1 -> 2 1 -> 3 2 -> 2 DP Table (rows: coins, cols: amounts): 0 1 2 3 4 1: 1 1 1 1 1 2: 1 1 2 2 3 3: 1 1 2 3 4
