打卡题目:leetcode第39题,组合总和
相似题目:40
【代码】
class Solution:def __init__(self):self.res = []self.candidates = []def get_candidates(self, candidates):candidates.sort()self.candidates = candidatesdef get_res(self, sums, target, now, loc):if sums + self.candidates[0] > target:return Falsefor i in range(len(self.candidates)):if i < loc:continuenum = self.candidates[i]if num + sums == target:self.res.append(now+[num])elif num + sums > target:return Falseelse:self.get_res(sums+num, target, now+[num], i)def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:self.get_candidates(candidates)self.get_res(0, target, [], 0)return self.res
