当前位置: 首页 > article >正文

刷题笔记day27-回溯算法1

理论基础

77. 组合

class Solution:
    path: list = list()
    result: List[List[int]] = list()
    def traversal(self, left: int, n: int, k: int):
        # 终止条件
        if (len(self.path) == k):
            # 这里面需要用浅拷贝,而不能是引用
            self.result.append(copy.copy(self.path))
            # print(self.path)
            return 
        
        # 2、迭代所有
        for i in range(left, n+1):
            self.path.append(i)
            self.traversal(i+1, n, k)
            del self.path[-1]
        
        return 


    def combine(self, n: int, k: int) -> List[List[int]]:
        # 先清空,避免多轮测试
        self.path.clear()
        self.result.clear()
        self.traversal(1, n, k)
        return self.result

http://www.kler.cn/a/135297.html

相关文章:

  • DAY112代码审计PHP开发框架POP链利用Yii反序列化POP利用链
  • 蓝队知识浅谈(上)
  • 408模拟卷较难题(无分类)
  • 树形dp总结
  • MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中
  • JAVA题目笔记(十五)经典算法题
  • Linux CentOS 8(MariaDB的数据类型)
  • GEE21:基于MODIS数据获取逐年GPP、EVI和FVC数据
  • 数据结构——栈与队列
  • 将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent
  • 【Qt开发流程之】布局管理
  • Linux安装RabbitMQ详细教程
  • mysql使用--子查询
  • 使用量子玻尔兹曼机推进机器学习:新范式
  • 自然语言处理:Transformer和GPT
  • 数智赋能,众创众治|易知微为“浙江省数字监管应用建模技能竞赛”提供技术支撑!
  • git使用记录
  • 大数据架构
  • pipeline + node +jenkins+kubernetes部署yarn前端项目
  • Qt给控件添加图片
  • 牛客--求最小公倍数python
  • 动手学深度学习——循环神经网络的从零开始实现(原理解释+代码详解)
  • python绘图常见问题及解决方法总结
  • C编译环境和预处理(非常详细,建议收藏)
  • 【智能家居】5、主流程设计以及外设框架编写与测试
  • 截取某个元素前面的数字