gpt4 book ai didi

Leetcode刷题(第78题)——子集

转载 作者:知者 更新时间:2024-03-13 05:49:00 26 4
gpt4 key购买 nike

一、题目

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

二、示例

输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

输入:nums = [0]
输出:[[],[0]]

三、思路

本题思路:使用递归。不是特别难的递归,具体看下面代码

四、代码

/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var subsets = function(nums) {
    let result = []
    const rec = (arr) => {
        if(arr.length <= nums.length){
            result.push(arr)
        }
        
        nums.forEach(item => {
            if(arr.includes(item)) {
                return
            }
            if(arr.length === 0 || (arr.length > 0 && item > arr[arr.length - 1])){
                rec(arr.concat(item))
            }
        })
    }
    rec([])
    return result
};

五、总结

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com