首页 > 编程语言 >代码随想训练营第二十四天(Python)| 第77题. 组合

代码随想训练营第二十四天(Python)| 第77题. 组合

时间:2023-11-03 19:55:30浏览次数:45  
标签:backtrack Python res self 77 int path 随想 append

第77题. 组合
需要注意剪枝细节
纵向代表递归,横行代表取数
1、回溯

class Solution:
    def combine(self, n: int, k: int) -> List[List[int]]:
        res = []
        self.backtrack(n, k, 1, [], res)
        return res

    def backtrack(self, n, k, start, path, res):
        if len(path) == k:
            res.append(path[:])
            return

        for i in range(start, n+1):   # 代表取数
            path.append(i)
            self.backtrack(n, k, i+1, path, res)
            path.pop()

2、回溯优化

class Solution:
    def combine(self, n: int, k: int) -> List[List[int]]:
        res = []
        self.backtrack(n, k, 1, [], res)
        return res

    def backtrack(self, n, k, start, path, res):
        if len(path) == k:
            res.append(path[:])
            return

        for i in range(start, n-(k-len(path))+2):
            path.append(i)
            self.backtrack(n, k, i+1, path, res)
            path.pop()

标签:backtrack,Python,res,self,77,int,path,随想,append
From: https://www.cnblogs.com/yixff/p/17806213.html

相关文章

  • 从零开始构建报警中心:part01 使用python脚本接收zabbix报警信息
    在part00中提到过,zabbix在整个结构中,只起到发起报警,并将信息推送给Python脚本的作用。所以此文的主要目的就是描述如何配置zabbix的报警媒介。zabbix可以通过配置报警媒介的方式,来自定义的接收报警信息。查看AlertScriptsPath配置报警脚本可以是shell、py或者其他各种格式类型的可......
  • pythonDay6
    for循环 案列 for+range(同while一样) while输入限制次数解决办法 range补充 for循环嵌套字符串正反步长及 .strip去除(lstrip是去除左边,rstrip是去除右边) rsplit,rsplit和join indigit 了解1.  了解2:字符串打印格式 了解3 了解4 了解5 ......
  • Python-流程控制-while循环-for循环
    Python-流程控制-while循环-for循环写重复代码是可耻的行为程序在一般情况下是按顺序执行的,编程语言提供了各种控制结构,允许更复杂的执行路径。循环(loop)用于解决重附代码的问题1.循环类型1.1.循环分类1)根据循环次数分类有限循环(次数限制)无限循环(死循环)标志位flag2)根据......
  • Python_消息队列
    rabbitpy:RabbitMQSimplified###[scheme]://[username]:[password]@[host]:[port]/[virtual_host]url='amqp://guest:guest@localhost:5672/%2F'这个%2f是字符斜杠/uni-encode之后的结果,而/就是默认的hostname,它在HTTP传输的时候必须要转义。Port15672isforthe......
  • Python分享之内置函数清单
    Python内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。最常见的内置函数是:print("HelloWorld!")在Python教程中,我们已经提到下面一些内置函数:基本数据类型type()反过头来看看dir()help()len()词典len()文本文......
  • Python之openpyxl模块的学习
    简介之前针对Excel的读取都是使用的xlrd模块,但是在一次实践中发现xlrd模块去掉了对xlsx格式的支持,因此改用openpyxl。以下内容仅包含使用openpyxl读取Excel文档的操作,并且比较浅显,更多内容请参考官方文档。注:一个excel就是一个工作簿(workbook),一个工作簿含有多个工作表(sheet)实......
  • python训练阿里云语音合成模型
    训练阿里云多人训练语音合成模型model_link:https://modelscope.cn/models/speech_tts/speech_sambert-hifigan_tts_zh-cn_multisp_pretrain_24k/summary1.获取KANTTS算法训练框架2.配置虚拟环境(conda)需要下载pytorch及其他kantts算法依赖3.数据准备:https://modelsco......
  • Python_web开发基础内容
    网络长连接的HTTP协议,会在响应头有加入这个头部字段:Connection:keep-aliveWebSocket:需要通过网络传输的任何实时更新或连续数据流,则可以使用WebSocketHTTP:不需要很频繁或仅获取一次的数据可以通过简单的HTTP请求查询都是用来跟踪浏览器用户身份的会话方式.cookie......
  • GPT-4 变笨加剧,一个笑话讲八百遍;ChatGPT 之父剑桥演讲遭抵制丨 RTE 开发者日报 Vol.77
     开发者朋友们大家好:这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE (RealTimeEngagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,欢迎......
  • Python-运算符
    Python-运算符1.Python运算符的优先级以下表格列出了从最高到最低优先级的所有运算符:如果是同优先级则从左往右依次递减运算符描述**乘方,指数(最高优先级)~+-按位翻转,一元加号和减号(最后两个的方法名为+@和-@)*/%//乘,除,取模和取整除+-......