39. Combination Sum

来源:互联网 发布:用ps淘宝详情页怎么做 编辑:程序博客网 时间:2024/04/25 23:27
class Solution(object):
    def combinationSum(self, candidates, target):
        """
        :type candidates: List[int]
        :type target: int
        :rtype: List[List[int]]
        """
        candidates.sort()
        res=[]
        line=[]#nums
        self.helper(candidates,target,res,line)
        return res
    
    def helper(self,nums,target,res,line):
        if target==0:
            res.append([x for x in line])
            return
        for i,x in enumerate(nums):
            if x<=target:
                line.append(x)
                self.helper(nums[i:],target-x,res,line)

                line.pop()#这里是删除无法满足条件的因子

比如【2,3,6,7】当到了target=3后line会添加2,但是target=1时,数组中不含1,所以要删除掉刚刚加的哪个2

原创粉丝点击