leetcode-40-组合总和②
题目描述:
方法一:回溯
class Solution: def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]: candidates.sort() res = [] def backtrack(i,tmp_sum,tmp_list): # if tmp_sum > target or i==len(candidates): # return if tmp_sum == target: res.append(tmp_list) return for j in range(i,len(candidates)): if tmp_sum + candidates[j] > target: break if j>i and candidates[j] == candidates[j-1]:continue backtrack(j+1,tmp_sum+candidates[j],tmp_list+[candidates[j]]) backtrack(0,0,[]) return res