前言
持续更新了
正文
问题来源
本问题来自leetcode上的78题。
问题描述
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)
示例 1:
输入: nums = [1,2,3]
输出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
分析:
func subsets(nums []int) [][]int {
res := make([][]int, 0)
tmp := make([]int, 0)
var dfs func(t int)
dfs = func(t int) {
if t == len(nums) {
tr := make([]int, len(tmp))
copy(tr, tmp)
res = append(res, tr)
return
}
dfs(t+1)
tmp = append(tmp, nums[t])
dfs(t+1)
tmp = tmp[:len(tmp)-1]
}
dfs(0)
return res
}
总结:
勤思考。
结语
不管怎么样好好加油。