美文网首页
[DFS]78. Subsets

[DFS]78. Subsets

作者: 野生小熊猫 | 来源:发表于2019-02-11 23:07 被阅读0次
    • 分类:DFS
    • 时间复杂度: O(n^2)

    78. Subsets

    Given a set of distinct integers, nums, return all possible subsets (the power set).

    Note: The solution set must not contain duplicate subsets.

    Example:

    Input: nums = [1,2,3]
    Output:
    [
      [3],
      [1],
      [2],
      [1,2,3],
      [1,3],
      [2,3],
      [1,2],
      []
    ]
    

    代码:

    class Solution:
        def subsets(self, nums: 'List[int]') -> 'List[List[int]]':
            res=[]
            
            for i in range(0,len(nums)+1):
                self.dfs(0,i,nums,res,[])         
            return res
        
        def dfs(self,start,k,nums,res,subset):
            if k==0:
                res.append(subset.copy())
            
            for i in range(start,len(nums)):
                subset.append(nums[i])
                self.dfs(i+1,k-1,nums,res,subset)
                subset.pop()
    

    讨论:

    1.和77题差不多

    相关文章

      网友评论

          本文标题:[DFS]78. Subsets

          本文链接:https://www.haomeiwen.com/subject/gjwceqtx.html