![](https://img.haomeiwen.com/i1519982/db1d26694fb12430.png)
class Solution:
def combinationSum2(self, candidates, target):
"""
:type candidates: List[int]
:type target: int
:rtype: List[List[int]]
"""
res = []
def dfs(remain,index,comb):
if remain==0 and comb not in res: #difference
res.append(comb)
return
for i in range(index,len(candidates)):
if remain<candidates[i]:
break
dfs(remain-candidates[i],i+1,comb+[candidates[i]]) #difference in 'i+1'
candidates.sort()
dfs(target,0,[])
return res
网友评论