题目链接:https://leetcode.com/problems/subsets/
此题思路盗用别人的
深度优先遍历
代码
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
res=[]
self.dfs(nums,0,[],res)
return res
def dfs(self, nums, index, tmp, res):
res.append(tmp)
for i in range(index, len(nums)):
self.dfs(nums, i+1, tmp+[nums[i]], res)
思路详解
列表方式——分治法
代码
class Solution:
def subsets(self, nums):
res = [[]]
for num in nums:
res += [item+[num] for item in res]
return res
思路详解
输入一个新值,就添加在之前所有结果之后,构成一个新子集