class Solution:
def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]:
self.res = []
candidates = sorted(candidates)
self.n = len(candidates)
self.backtrack([],0,0, target, candidates[:])
return self.res
def backtrack(self, tmp, cur, index, target, candidates):
if cur > target:
return
if cur == target:
self.res.append(tmp)
return
for i in range(index, self.n):
# 重点在于如何剪枝
if i > index and candidates[i] == candidates[i-1]:
continue
self.backtrack(tmp + [candidates[i]], cur+candidates[i], i+1, target, candidates[:])
return
力扣-40 组合总和II
最新推荐文章于 2025-02-26 12:13:00 发布
博客围绕力扣40题总和总和II展开,但内容缺失,推测应是对该算法题的分析与解答,涉及算法思路、代码实现等信息技术相关内容。

954

被折叠的 条评论
为什么被折叠?



