You are coding as a Guest. Sign in with your RoleNest account to permanently track your streak, earn XP, and climb the Campus Leaderboard!
Sign In with RoleNestProblem Set
🔥Coin Change: Minimum Denomination DPMedium
MediumDynamic Programming•Acceptance: 43.7%
Coin Change: Minimum Denomination DP
Real-World Engineering Context
Micro-transaction change-making algorithms in Stripe/Cashfree billing gateways and optimal network MTU packet fragmentation.
You are given an integer array `coins` representing coins of different denominations and an integer `amount` representing a total amount of money.
Return the fewest number of coins that you need to make up that amount. If that amount of money cannot be made up by any combination of the coins, return -1.
You may assume that you have an infinite number of each kind of coin.
Sample Test Cases
Input: [[1,2,5],11]
Expected: 3
Input: [[2],3]
Expected: -1
Input: [[1],0]
Expected: 0
Constraints
- 1 <= coins.length <= 12
- 1 <= coins[i] <= 2^31 - 1
- 0 <= amount <= 10^4
Language:
Ready to test. Click Run Code or Submit Solution to run test cases in isolated browser sandbox.