class Solution:
def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]:
candidates.sort()
res = []
tmp = []
def backtrace(starIndex: int) -> None:
if(sum(tmp) == target):
res.append(tmp.copy())
return
if(sum(tmp) <= target):
i = starIndex
while(i < len(candidates)):
tmp.append(candidates[i])
backtrace(i+1)
tmp.pop()
while(i < len(candidates)-1 and candidates[i] == candidates[i+1]):
i += 1
i += 1
backtrace(0)
return res
#40. 组合总和 II
最新推荐文章于 2024-06-17 19:49:36 发布