Subsets
Description:
Given a set of distinct integers, return all possible subsets.
Example
If S = [1,2,3], a solution is:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
Challenge
Can you do it in both recursively and iteratively?
Code:
class Solution:
"""
@param nums: A set of numbers
@return: A list of lists
"""
res = []
def helper(self, nums, index, father):
self.res.append(father)
for i in range(index, len(nums)):
self.helper(nums, i+1, father+[nums[i]])
def subsets(self, nums):
# write your code here
if len(nums) == 0:
return [[]]
self.helper(sorted(nums), 0, [])
return self.res