|
18 | 18 | **示例**:
|
19 | 19 |
|
20 | 20 | ```Python
|
21 |
| -输入nums= [1,2,2] |
22 |
| -输出[[],[1],[1,2],[1,2,2],[2],[2,2]] |
| 21 | +输入nums= [1,2,2] |
| 22 | +输出[[],[1],[1,2],[1,2,2],[2],[2,2]] |
23 | 23 | ```
|
24 | 24 |
|
25 | 25 | ##解题思路
|
@@ -76,22 +76,22 @@ class Solution:
|
76 | 76 |
|
77 | 77 | | 集合 nums 对应位置(下标)| 4| 3| 2| 1| 0|
|
78 | 78 | | :-------------------------| :--:| :--:| :--:| :--:| :--:|
|
79 |
| -| 对应选取状态| 选取| 选取| 选取| 选取| 选取| |
80 | 79 | | 二进制数对应位数| 1| 1| 1| 1| 1|
|
| 80 | +| 对应选取状态| 选取| 选取| 选取| 选取| 选取| |
81 | 81 |
|
82 | 82 | 再比如二进制数`10101` 就表示选取集合的第`0` 位、第`2` 位、第`5` 位元素,也就是集合`{5, 3, 1}`。如下表所示:
|
83 | 83 |
|
84 | 84 | | 集合 nums 对应位置(下标)| 4| 3| 2| 1| 0|
|
85 | 85 | | :-------------------------| :--:| :----:| :--:| :----:| :--:|
|
86 |
| -| 对应选取状态| 选取| 未选取| 选取| 未选取| 选取| |
87 | 86 | | 二进制数对应位数| 1| 0| 1| 0| 1|
|
| 87 | +| 对应选取状态| 选取| 未选取| 选取| 未选取| 选取| |
88 | 88 |
|
89 | 89 | 再比如二进制数`01001` 就表示选取集合的第`0` 位、第`3` 位元素,也就是集合`{5, 2}`。如下标所示:
|
90 | 90 |
|
91 | 91 | | 集合 nums 对应位置(下标)| 4| 3| 2| 1| 0|
|
92 | 92 | | :-------------------------| :----:| :--:| :----:| :----:| :--:|
|
93 |
| -| 对应选取状态| 未选取| 选取| 未选取| 未选取| 选取| |
94 | 93 | | 二进制数对应位数| 0| 1| 0| 0| 1|
|
| 94 | +| 对应选取状态| 未选取| 选取| 未选取| 未选取| 选取| |
95 | 95 |
|
96 | 96 | 通过上面的例子我们可以得到启发:对于长度为`5` 的集合`nums` 来说,我们只需要从`00000` ~`11111` 枚举一次(对应十进制为 $0 \sim 2^4 - 1$)即可得到长度为`5` 的集合`S` 的所有子集。
|
97 | 97 |
|
|