给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
示例:
输入: nums = [1,2,3]
输出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
python解决方案:
# 通过递归的方式生成子集 class Solution(object): def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ self.out = [] self.sub(nums,0,[]) return self.out def sub(self,nums,start,sub): self.out.append(sub) if len(sub)==len(nums): return for i in range(start,len(nums)): self.sub(nums,i+1,sub+[nums[i]])