Dynamic Programming: Knapsack - Coin Change (Minimum Coins)
Examine the following code snippet for minimum coin change. Which mistake causes incorrect results when amount = 0?
```python
def minCoins(coins, amount):
dp = [0] + [float('inf')] * amount
for i in range(1, amount + 1):
for coin in coins:
if i - coin >= 0:
dp[i] = min(dp[i], dp[i - coin] + 1)
return dp[amount]
```
