Find All Subsets
DFS
def findSubset(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
self.res = []
def dfs (nums, index, memo):
if index == len(nums):
self.res.append(memo.copy())
return
# memo += [nums[index]]
memo.append(nums[index])
dfs(nums, index+1, memo)
memo.pop()
dfs(nums, index+1, memo)
dfs(nums, 0, [])
return self.res
nums = [1, 2, 3, 4, 5]
findSubset(nums)
Array
def findSubset1(num):
for item in num:
tmp = []
for element in res:
tmp.append(element + [item])
"""
for item in num:
res = res + [[item] + i for element in res]
"""
res = res + tmp
return res
num = [1, 2, 3, 4, 5]
res = [[]]
findSubset1(num)
Last updated