Back to Practice Dashboard
Competitive ProgrammingEasy

Coin Change Problem

Learn how to solve the 'Coin Change Problem' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function count_coin_change(coins, n) that returns the number of distinct ways to make change for a target amount n using an unlimited supply of the given coin denominations coins.

Constraints
  • 1 <= len(coins) <= 100
  • 1 <= coins[i] <= 1000
  • 1 <= n <= 1000

Examples

Example 1
Input
count_coin_change([1, 2, 3], 4)
Output
4
Explanation

There are 4 ways: {1,1,1,1}, {1,1,2}, {2,2}, {1,3}.

Example 2
Input
count_coin_change([2, 5, 3, 6], 10)
Output
5
Explanation

There are 5 ways: {2,2,2,2,2}, {2,2,3,3}, {2,2,6}, {2,3,5}, {5,5}.

Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor