Problems

Combination Sum

medium
medium
arrays
backtracking
recursion

Return unique combinations summing to target. Candidates are distinct, may be reused, and output follows input-choice DFS order.

Constraints

  • 1 <= candidates.length <= 30
  • 2 <= candidates[i] <= 40
  • 1 <= target <= 40

Follow-up

How does sorting enable early pruning?

Examples

Example 1

Input: candidates = [2,3,6,7], target = 7
Output: [[2,2,3],[7]]

Example 2

Input: candidates = [2,3,5], target = 8
Output: [[2,2,2,2],[2,3,3],[3,5]]

Example 3

Input: candidates = [2], target = 1
Output: []
🔒 5 hidden

Running will execute all 8 cases, including 5 hidden ones.