78. 子集
给你一个整数数组 nums ,数组中的元素互不相同 。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
res=[[]]
for num in nums:
for i in range(len(res)):
res.append(res[i]+[num])
print(res)
print(i)
return res
区分一下子集、子序列、子数组的概念:
- 子集合:数组中的所有元素可以任意组合后的子集,当然,空集是任意数组的子集。
- 子序列:原序列中可以不连续的一段。
- 子数组(子串):原序列中必须连续的一段。
- 但是无论是子序列和子数组,他们都可以看作是原数组的一部分,而且不会改变原来数组中元素的相对位置。而子集合是可以改变原来数组中元素的相对位置的。