Overview
Coin change: given denominations se target amount banane ke liye minimum coins.
Analogy
Jaise vending machine minimum coins mein change deta hai.
Step-by-step
- dp[0]=0 initialize karo, dp[1..amount]=∞
- Har amount ke liye saare coins try karo
- dp[i]=min(dp[i],dp[i-coin]+1)
- dp[amount] answer hai (∞ toh impossible)
Visual
coins=[1,2,5] amount=11
dp=[0,1,1,2,2,1,2,2,3,3,2,3]
dp[11]=3 → (5+5+1)
Common mistakes
- [
- "
- d
- p
- [
- 0
- ]
- =
- 1
-
- i
- n
- i
- t
- i
- a
- l
- i
- z
- e
-
- k
- a
- r
- n
- a
-
- (
- 0
-
- h
- o
- n
- a
-
- c
- h
- a
- h
- i
- y
- e
- )
- "
- ,
-
- "
- d
- p
-
- k
- o
-
- 0
-
- s
- e
-
- i
- n
- i
- t
- i
- a
- l
- i
- z
- e
-
- k
- a
- r
- n
- a
-
- ∞
-
- k
- i
-
- j
- a
- g
- a
- h
- "
- ]
Practice questions
- Coin combinations count karo (Coin Change II)
- Maximum coins (total se zyada nahi ka maximum count)
Time
O(amount × coins count)