題目要求
給定一組不含重復(fù)元素的整數(shù)數(shù)組 nums,返回該數(shù)組所有可能的子集(冪集)。
說明:解集不能包含重復(fù)的子集。
示例:
輸入: nums = [1,2,3]
輸出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
思路
構(gòu)造嵌套列表[[]],遍歷給定數(shù)組,每次將遍歷到的元素,再遍歷的加入到嵌套列表的元素,再將得到的新的元素加入到嵌套列表。
class Solution:
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = [[]]
for num in nums:
# [:]前復(fù)制,為了不破壞被遍歷數(shù)組
for i in res[:]:
temp = i[:]
temp.append(num)
res.append(temp)
return res