首页 > 编程语言 >day27 代码随想录算法训练营 39. 组合总和

day27 代码随想录算法训练营 39. 组合总和

时间:2024-01-29 21:13:57浏览次数:31  
标签:39 target res day27 随想录 candidates path total self

题目:39. 组合总和

我的感悟:

  • 还是没太理解这个index和i 的区别
  • 感觉要继续听继续做
  • 剪枝要进行排序,这题,我先理解到不剪枝的版本就行

 

代码示例:

class Solution:
    def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:
        res = []
        total = 0
        self.backtrcaking(candidates,target,0,total,[],res)
        return res
        
    def backtrcaking(self,candidates,target,start_index,total,path,res):
        # 确定跳出条件
        if total > target:
            return 
        if total == target:
            res.append(path[:])
        
        # 核心代码
        for i in range(start_index,len(candidates)):
            path.append(candidates[i])
            total += candidates[i]
            self.backtrcaking(candidates,target,i,total,path,res)
            total -= candidates[i]
            path.pop()

通过截图:

扩展写法:

资料:

题目链接/文章讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html

视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ

标签:39,target,res,day27,随想录,candidates,path,total,self
From: https://www.cnblogs.com/liqi175/p/17995329

相关文章

  • CF1764H Doremy's Paint 2 题解
    题目链接:CF或者洛谷高分题,感觉挺有意思的题,值得一提的是这个题的\(1\)和\(3\)版本却是两个基础题。一开始以为跟这道差不多:P8512[YnoiEasyRound2021]TEST_152题解。后面重新读了一下发现一个有趣的点:也就是是说操作的\(val\)并不太好搞了,如果\(val\)确定就基......
  • 解决MySQL设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai'
    问题描述:在trino中配置了mysql.properties文件,但是通过trino客户端,执行命令showschemasfrommysql;查看数据库信息时报错:Errorlistingschemasforcatalogmysql:java.sql.SQLNonTransientConnectionException:Couldnotcreateconnectiontodatabaseserver.Attempted......
  • 关于ufw 报错ip6tables v1.6.1: can't initialize ip6tables table `filter': Table d
    背景在ubuntuarm版本上安装ufw,设置规则时报错发现报错ip6tablesv1.6.1:can'tinitializeip6tablestable`filter':Tabledoesnotexist(doyouneedtoinsmod?)Perhapsip6tablesoryourkernelneedstobeupgraded.解决办法一.升级ip6tables二.禁用i......
  • 代码随想录 day34 K 次取反后最大化的数组和 加油站 分发糖果
    K次取反后最大化的数组和按照元素的绝对值大小进行排序把绝对值大的且小于0的取反如果还能取反那么奇数次的话就把绝对值小的取反偶数次不用管加油站首先如果总油量小于总消耗是一定不能跑完的这里的思路是如果[0,i]区间不能油量小于消耗那么就尝试从下一个i+1......
  • MySQL数据库连接报错1130 - Host 'xxx' is not allowed to connect to this MySQL ser
    目录现象描述原因分析解决办法:本文解决MySQL数据库连接报错1130-Host'xxx'isnotallowedtoconnecttothisMySQLserver。返回目录返回目录现象描述MySQL数据库,使用Navicat、root用户连接报错:原因分析这个报错原因是权限问题,需要修改连接权限。进入mysql......
  • P8392 BalticOI 2022 Day1 Uplifting Excursion
    P8392BalticOI2022Day1UpliftingExcursion贪心加动规,好题,这两个甚至完全相反的东西可以融进一道题……思路物品较少,贡献较小,体积较小,但总体积巨大。直接上\(dp\)容易把心态搞炸。我们可以先考虑贪心,使贡献最多还剩\(m\)。然后考虑背包填满剩下的体积,且\(i\)和\(-i......
  • B3929 [GESP202312 五级] 小杨的幸运数 题解
    因为一些众所周知的原因,不放代码。分享一种考场思路:\(a\le10^7\),顺序查找肯定会废,所以可以用一种类似埃氏筛的方法将所有满足条件的数标记一下,并将其加入一个答案数组\(a\)当中。然后每次查询只需要用lower_bound函数二分查找一下,假如找到了第\(i\)个:\(a_i=x\),直接......
  • mysql连接报错:The server time zone value '�й���׼ʱ��'
    java.sql.SQLException:Theservertimezonevalue'�й���׼ʱ��'isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJDBCdriver(viatheserverTimezoneconfigurationproperty)touseamorespecifctimez......
  • day25 代码随想录算法训练营 17. 电话号码的字母组合
    题目:17.电话号码的字母组合我的感悟:一时间没理解没关系,只要不放弃,就会成长!!!理解难点:index是独立集合的起点,需要理解它。有些东西就是时间的积累代码难点:代码示例:classSolution:def__init__(self):self.letterMap=["",#0......
  • 代码随想录算法训练营第四天| 24. 两两交换链表中的节点 19.删除链表的倒数第N个节
    24.两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。题目链接:24.两两交换链表中的节点-力扣(LeetCode)建议画图,会更清晰一些。同时注意交换问题要用两个临时节点。class......