美文网首页
[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