子集

题目链接

题目思路

循环遍历,然后遇到对已经的到的子集加上但前数字即可

go解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

func subsets(nums []int) [][]int {
var numSubset [][]int
numSubset = append(numSubset, []int{})
for i := 0; i < len(nums); i++ {
m := len(numSubset)
for j := 0; j < m; j++ {
tmp := make([]int, len(numSubset[j]))
copy(tmp, numSubset[j])
tmp = append(tmp, nums[i])
// fmt.Println(tmp, nums[i], i)
// fmt.Println(tmp, j)
numSubset = append(numSubset, tmp)
// fmt.Println(j)
}
}
return numSubset
}