LeetCode讲解篇之78. 子集

文章目录

题目描述

题解思路

初始化一个start变量记录当前从哪里开始遍历搜索nums

搜索过程的数字组合加入结果集

然后从start下标开始遍历nums,更新start,递归搜索

直到搜索完毕,返回结果集

题解代码

python 复制代码
class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        res = []
        tmp = []
        n = len(nums)
        start = 0
        def dfs():
            nonlocal start
            res.append([num for num in tmp])
            for i in range(start, n):
                tmp.append(nums[i])
                start = i + 1
                dfs()
                tmp.pop()

        dfs()
        return res
相关推荐
努力学算法的蒟蒻17 小时前
day115(3.17)——leetcode面试经典150
面试·职场和发展
老鱼说AI17 小时前
CUDA架构与高性能程序设计:异构数据并行计算
开发语言·c++·人工智能·算法·架构·cuda
罗湖老棍子17 小时前
【例 1】数列操作(信息学奥赛一本通- P1535)
数据结构·算法·树状数组·单点修改 区间查询
big_rabbit050217 小时前
[算法][力扣222]完全二叉树的节点个数
数据结构·算法·leetcode
张李浩18 小时前
Leetcode 15三题之和
算法·leetcode·职场和发展
2301_7938046919 小时前
C++中的适配器模式变体
开发语言·c++·算法
x_xbx19 小时前
LeetCode:206. 反转链表
算法·leetcode·链表
abant219 小时前
leetcode 138 复制随机链表
算法·leetcode·链表
ab15151719 小时前
3.17二刷基础112 118 完成进阶52
数据结构·算法
旖-旎19 小时前
二分查找(1)
c++·算法·二分查找·力扣·双指针