You only have free questions left (including this one).
But it doesn't have to end here! Sign up for the 7-day coding interview crash course and you'll get a free Interview Cake problem every week.
You're in!
Your quirky boss collects rare, old coins...
They found out you're a programmer and asked you to solve something they've been wondering for a long time.
Write a method that, given:
an amount of money
an array of coin denominations
computes the number of ways to make the amount of money with coins of the available denominations.
Example: for amount=4 (4¢) and denominations=[1,2,3] (1¢, 2¢ and 3¢), your program would output 4—the number of ways to make 4¢ with those denominations:
1¢, 1¢, 1¢, 1¢
1¢, 1¢, 2¢
1¢, 3¢
2¢, 2¢
What if there's no way to make the amount with the denominations? Does your method have reasonable behavior?
We can do this in time and space, where n is the amount of money and m is the number of denominations.
A simple recursive approach works, but you'll find that your method gets called more than once with the same inputs. We can do better.
We could avoid the duplicate method calls by memoizing, but there's a cleaner bottom-up approach.
Start your free trial!
Log in or sign up with one click to get immediate access to free mock interview questions
Actually, we don't support password-based login. Never have. Just the OAuth methods above. Why?
It's easy and quick. No "reset password" flow. No password to forget.
It lets us avoid storing passwords that hackers could access and use to try to log into our users' email or bank accounts.
It makes it harder for one person to share a paid Interview Cake account with multiple people.
“Interview Cake was instrumental in my success for interviews. I had used few other sources to prepare for technical interviews but none of them taught me the proper method of thinking and approaching a problem like Interview Cake.
—
Amir