Combination Sum

Given asetof candidate numbers (candidates)(without duplicates)and a target number (target), find all unique combinations incandidates where the candidate numbers sums totarget.

Thesamerepeated number may be chosen fromcandidates unlimited number of times.

Note:

  • All numbers (including target) will be positive integers.

  • The solution set must not contain duplicate combinations.

Example 1:

Input: candidates = [2,3,6,7], target = 7,
A solution set is:
[
  [7],
  [2,2,3]
]

Example 2:

Input: candidates = [2,3,5], target = 8,
A solution set is:
[
  [2,2,2,2],
  [2,3,3],
  [3,5]
]

Analysis

Solution

Backtracking

这里技巧在于每次candidates的搜索空间要减小一些,但是又因为candidates[]元素可以重复利用,因此进入下一层递归时,用startIdx = i,而不是 startIdx = i + 1。

Last updated

Was this helpful?