How this is different from backtracking?
class Solution(object):
def subsets(self, nums):
self.ans = []
self.helper(nums, 0, [])
return self.ans
def helper(self, nums, index, tmp_arr):
self.ans.append(tmp_arr)
for idx in range(index, len(nums)):
self.helper(nums, idx+1, tmp_arr + [nums[idx]])