- 分类: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题差不多
网友评论