cheetcode

75. Combination Sum IIMedium

Find unique combinations that reach a target when each value may be used once.

Given a collection of candidate numbers that may include duplicates and a target, return all unique combinations where the numbers sum to the target.

Each value may be used at most once. The runner accepts the combinations in any order.

Build one partial choice at a time, recurse, then undo that choice before exploring the next option. Pay close attention to duplicate handling and stopping conditions.

Examples

Input: candidates = [10,1,2,7,6,1,5], target = 8
Output: [[1,1,6],[1,2,5],[1,7],[2,6]]
Input: candidates = [2,5,2,1,2], target = 5
Output: [[1,2,2],[5]]

Constraints

  • 1 <= candidates.length <= 100
  • 1 <= candidates[i] <= 50
  • 1 <= target <= 30