问题提出
#78
子集
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13 > 输入: nums = [1,2,3]
> 输出:
> [
> [3],
> [1],
> [2],
> [1,2,3],
> [1,3],
> [2,3],
> [1,2],
> []
> ]
>
解法
假设已知n个元素的集合的全部子集,多加一个元素,其全部子集会变成什么样?
设之前的集合为{a1, a2},则全部子集为{Φ, {a1}, {a2}, {a1, a2}},加入a3后,保留之前的全部子集外,需要在之前的每个子集的后面加上a3并入新的全部子集的集合,即{Φ, {a1}, {a2}, {a1, a2}} ∪ { {a3}, {a1, a3}, {a2, a3}, {a1, a2, a3}}