【力扣100】78.子集

添加链接描述

python 复制代码
class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        # 思路是回溯,这道题和【全排列】不一样的地方是出递归(收获)的判断条件不一样
        def dfs(path,index,res):
            res.append(path[:])
            for i in range(index,len(nums)):
                path.append(nums[i])
                dfs(path,i+1,res)
                path.pop()
        
        res=[]
        dfs([],0,res)
        return res

思路是:

  1. 回溯和递归
  2. 我怎么感觉这种题背下来就好?

解法二

python 复制代码
class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        # 思路是每一个元素都有取和不取两种选择:
        def backtrack(path,index,res):
            if index==len(nums):
                res.append(path[:])
                return
            backtrack(path+[nums[index]],index+1,res)
            backtrack(path,index+1,res)
        res=[]
        backtrack([],0,res)
        return res

思路是:

  1. 每一个元素都有选和不选两个选择
相关推荐
CoovallyAIHub1 分钟前
是什么支撑L3自动驾驶落地?读懂AI驾驶与碰撞预测
深度学习·算法·计算机视觉
玉树临风ives8 分钟前
atcoder ABC436 题解
c++·算法·leetcode·atcoder·信息学奥赛
圣保罗的大教堂12 分钟前
leetcode 2110. 股票平滑下跌阶段的数目 中等
leetcode
patrickpdx13 分钟前
leetcode:相等的有理数
算法·leetcode·职场和发展
dragoooon3423 分钟前
[C++——lesson29.数据结构进阶——「AVL树」]
算法
碧海银沙音频科技研究院28 分钟前
论文写作word插入公式显示灰色解决办法
人工智能·深度学习·算法
长沙京卓41 分钟前
【无人机算法】低空经济下无人机巡检检测识别算法(城市、林业、水利)
算法·无人机
hn小菜鸡42 分钟前
LeetCode 1971.寻找图中是否存在路径
算法·leetcode·职场和发展
Han.miracle1 小时前
数据结构与算法--007三数之和(medium)
算法·leetcode·排序算法
听风吹等浪起1 小时前
机器学习算法:随机梯度下降算法
人工智能·深度学习·算法·机器学习