首页 > 编程语言 >回顾复习-回溯算法-78. 子集

回顾复习-回溯算法-78. 子集

时间:2024-02-19 09:12:15浏览次数:33  
标签:nums res self List 子集 回溯 path backtracking 78

注意点&感悟:

  • 复习是个好东西

题目链接:78. 子集

自己独立写的代码:

class Solution:
    def subsets(self, nums: List[int]) -> List[List[int]]:
        res = []
        self.backtracking(nums,0,[],res)
        return res

    def backtracking(self,nums,start_index,path,res):
        # 存结果
        res.append(path[:])
        # 遍历
        for i in range(start_index,len(nums)):
            path.append(nums[i])
            self.backtracking(nums,i+1,path,res)
            path.pop()

通过截图:

标签:nums,res,self,List,子集,回溯,path,backtracking,78
From: https://www.cnblogs.com/liqi175/p/18020348

相关文章

  • day28 回溯算法part4 代码随想录算法训练营 90. 子集 II
    题目:90.子集II我的感悟:只要功夫深,铁树也开花参考答案,没我写的好理解难点:去重代码难点:i-1的含义易错点:nums要排序回溯要写i+1path.append要添加的是nums[i]代码示例:classSolution:defsubsetsWithDup(self,nums:List[int])->List[List[int]]:......
  • day28 回溯算法part4 代码随想录算法训练营 78. 子集
    题目:78.子集我的感悟:看见弹幕是秒了,我有点不敢相信,自己试了试,没有通过,再看了一眼文字讲解。感觉懂了点理解难点:这题可以没有终止条件,开始我就疑惑这个终止条件怎么写注意这个nums[i]要添加进入是可以不写终止的,不会出现无线递归的,因为是从i+1开始,那会不会越界??,不会,最......
  • 今天练习2-回溯算法-93. 复原 IP 地址
    注意点&感悟:加油!题目链接:93.复原IP地址自己独立写的代码:classSolution:defrestoreIpAddresses(self,s:str)->List[str]:res=[]self.backtracking(s,0,[],res)returnresdefbacktracking(self,s,start_index,path,res......
  • 今天练习-回溯算法-93. 复原 IP 地址
    注意点&感悟:难吗?不难。难的是克服畏难的心里。题目链接:93.复原IP地址自己独立写的代码:fromtypingimportListclassSolution:defrestoreIpAddresses(self,s:str)->List[str]:res=[]self.backtracking(s,0,[],res)return......
  • day28 回溯算法part4 代码随想录算法训练营 93. 复原 IP 地址
    题目:93.复原IP地址我的感悟:加油!理解难点:开始没理解,start_index的含义start_index是切割后的位置信息。代码难点:代码示例:fromtypingimportListclassSolution:defrestoreIpAddresses(self,s:str)->List[str]:#找3个分割点?#最后......
  • P1429&&P7883 平面最近点对(加强版 && 加强加强版)
    这是一道非常经典的题目。首先可以想到暴力的算法,一一匹配取最小值,期望时间复杂度为$O(n^2)$,很明显过不了此题。所以我们考虑分治,我们每次将所有点按x分为两半,然后分治两半,取最小值,然后就可以获取到左右两块内部最小值,那么大范围内的最小值只有左边最小值,右边最小值或者横跨......
  • P5478 [BJOI2015] 骑士的旅行 - 重链剖分
    首先分析一下题目,对于这棵树,操作如下:查询从X到Y的路径上的前k大的值。把$P_i$上的武力值减去一个$F_i$并在Y上的武力值加上一个$F_i$,再把$P_i$改成Y。将$P_i$上的武力值减去一个$F_i$再加上一个Y,并把$F_i$改成Y。由第一个我们可以想到,先用树剖,再用......
  • TopCoder SRM478C RandomApple 题解
    题意:有\(k\)种苹果和\(n\)个箱子,每个箱子中有一些苹果,先等概率选取\(n\)个箱子组成集合的非空子集,再从选出的苹果中随机选一个,问每种苹果被选中的概率是多少箱子\(i\)有\(a_{i,j}\)个第\(j\)种苹果,第\(i\)个箱子的总苹果数\(siz_i=\sum\limits_{j=1}^ka_{i,j}\),苹果总数\(sum=\su......
  • P8784 [蓝桥杯 2022 省 B] 积木画
    原题链接太妙了,请移步题解区,有用数学归纳法做的,也有用找规律做的L型积木一定是成对出现的code#include<bits/stdc++.h>usingnamespacestd;constintmod=1e9+7;longlongdp[10000005]={0};intmain(){intn;cin>>n;dp[0]=1;dp[1]=1;dp[2]=2;......
  • P8786 [蓝桥杯 2022 省 B] 李白打酒加强版
    原题链接题解根据样例,观察到李白总共走\(n+m\)次,每一次不是遇到酒馆就是遇到花故我们可以设\(dp[i][0/1]\)代表第\(i\)次遇到酒馆或花的方案数但是我们发现这样的状态不好转移故我们可以设\(dp[i][0/1][k]\)代表第\(i\)次遇到酒馆或花,还剩下\(k\)斗酒的方案数但......