LeetCode--Subsets(集合的子集)Python

题目:

给定一个数组,返回该数组所有可能的子集,包含空数组和它本身。

解题思路:

考虑是用迭代的思想。数组中只有一个数字时,返回空集合和数字本身,再新加一个数字时,将原先的所有子集加上新的数字,就是包含新数字的子集,保留之前不包含新数字的子集。这两个子集直接相加就是新的所有子集。一样地当数组长度不断增加,我们不断往原来子集上迭代新的集合即可。

代码(Python):

class Solution(object):
    def subsets(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        output = [[]]
        for i in range(len(nums)):
            for j in range(len(output)):
                output.append(output[j]+[nums[i]])
        return output


版权声明:本文为xiaoxiaoley原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。