class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
res = []
subset = []
def create_subset(i):
if i == len(nums):
res.append(subset[:])
return
subset.append(nums[i])
# include this index
create_subset(i+1)
subset.pop()
# exclude this index
create_subset(i+1)
create_subset(0)
return res