78. 子集
原始题目链接:https://leetcode-cn.com/problems/subsets/
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
解题思路:
枚举法,初始化结果res为仅有一个空列表元素的列表:[[]],然后对于数组nums中的每一个元素开始遍历res中的所有元素并组合成新的列表元素,并增添到res中,直到nums中的元素遍历完结束。
代码实现:
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
res = [[]]
for num in nums:
# 用一个列表推到简化了代码
res += [[num] + cur for cur in res]
return res