数组的子集

给定一组不含重复元素的整数数组 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]])

  

原文地址:https://www.cnblogs.com/wenqinchao/p/12197401.html