Subsets
Problem: Subsets
We can use backtracking to get all the subsets. Note that every time we add a new element we need both add the current subset to results and try adding other element based on this subset. Besides, we don't do duplicates removal this time since we treat same numbers as different elements.
Code in Python:
class Solution(object):
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
nums = sorted(nums)
res = [[]]
def helper(numbers, subset):
if not numbers: return
for i in xrange(len(numbers)):
res.append(subset+[numbers[i]])
helper(numbers[i+1:], subset+[numbers[i]])
helper(nums, [])
return res