mediumBacktrackingBacktracking

Combination Sum II

mediumTime: O(2^n)Space: O(n)

Recognize the pattern

combinations summing to target, each element used onceskip duplicate candidatessort first

Brute force idea

Not applicable — enumeration with constraints.

Better approach

Sort. Backtrack from current index (no reuse). Skip candidates[i] when equal to candidates[i-1] at same level. O(2^n).

Key invariant

Sorting groups duplicates. Skipping same-value candidates at the same recursion level prevents duplicate combinations.

Watch out for

Not handling duplicates — [1,1,2] without skipping generates duplicate [1,2] combinations.

Backtracking Pattern