Loading…
Coin Change is a medium coding interview question covering dynamic programming — the kind asked at FAANG (Facebook/Meta, Apple, Amazon, Netflix, Google) and AI-first companies like Anthropic, OpenAI, and Nvidia.
Given coins of different denominations and a target amount, return the fewest number of coins needed to make up that amount. Return -1 if not possible.
Example: coins=[1,5,11], amount=15 -> 3 (5+5+5) Example: coins=[2], amount=3 -> -1
This is the unbounded knapsack variant. Greedy does NOT work in general (e.g., coins=[1,5,11], amount=15: greedy gives 11+1+1+1+1=5 but optimal is 5+5+5=3).
Solution walkthrough on Pro
Upgrade to Pro to unlock the guided hints, the step-by-step walkthrough, solutions in Python, C++, Java, and Go, and complexity analysis.
What's inside this guide
Fully unlocked, no account needed — solutions, walkthroughs and follow-up answers included.
Or start the Study Plan — a week-by-week order for your loop, and week 1 is entirely free.
A full interview loop is more than one round. These are the others, each with what is on the site for it.