aluckdog
# coding: utf-8import randomdef combinationSum2(candidates, target):
res = []
can = sorted(candidates) def dfs(comb, s, i):
while i < len(can): if can[i] + s > target: return
elif can[i] + s == target: if (comb + [can[i]]) not in res:
res.append(comb + [can[i]]) else:
dfs(comb + [can[i]], s + can[i], i + 1)
i += 1
dfs([], 0, 0) return res#从1-100之间随机10个数lst = random.sample(range(1, 101), 10)#找出随机数和为100的组合print combinationSum2(lst, 100)