Coin Change Algorithm Visualizer

Interactive Dynamic Programming Visualization

800ms

📝 Pseudocode

function coinChange(coins, amount):
dp = array of size (amount + 1)
fill dp with infinity
dp[0] = 0 // base case
for i from 1 to amount:
for coin in coins:
if i >= coin:
dp[i] = min(dp[i], dp[i-coin] + 1)
return dp[amount] if dp[amount] != infinity else -1

Complexity Analysis

Time Complexity
O(amount × coins)
We iterate through each amount and each coin
Space Complexity
O(amount)
We store the DP array of size amount + 1

💡 Current Step

Step: 0
Click "Start Visualization" to begin the algorithm execution.

📊 DP Table Visualization

🪙 Coin Selection Visualization

🎯 Result

Result will appear here after execution