这是一道 「中等难度」 的题
题目来自:https://leetcode.cn/problems/subsets/

题目

给你一个整数数组 nums ,数组中的元素 「互不相同」 。返回该数组所有可能的子集(幂集)。

解集 「不能」 包含重复的子集。你可以按 「任意顺序」 返回解集。

示例 1:

var ans [][]int
var subSet []int

func subsets(nums []int) [][]int {
    subSet = []int{}
    ans = [][]int{}

    recursion(0, nums)

    return ans
}

func recursion(i int, nums []int) {
    if i == len(nums) {
        temp := make([]intlen(subSet))
        copy(temp, subSet)
        ans = append(ans, temp)
        return
    }

    // 不选
    recursion(i + 1, nums)

    // 选
    subSet = append(subSet, nums[i])
    recursion(i + 1, nums)
    subSet = subSet[:len(subSet) - 1]
}


- End -



点个在看你最好看

CLICK TO SEE YOU LOOK THE BEST


本篇文章来源于微信公众号: i余数



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2023-06-19