39.组合总和(回溯)

简介: 39.组合总和(回溯)

39. 组合总和 - 力扣(LeetCode) (leetcode-cn.com)

#回溯
class Solution:
    def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:
        def dfs(target,ans,combine,idx):
            if idx == n:
                return
            if target == 0:
                ans.append(list(combine))
                return
            #跳过idx
            dfs(target,ans,combine,idx+1)
            #选择idx
            if target-candidates[idx] >= 0:
                combine.append(candidates[idx])
                dfs(target-candidates[idx],ans,combine,idx)
                combine.pop()
            
            
 
        n = len(candidates)
        ans = []
        combine=[]
        dfs(target,ans,combine,0)
        return ans
相关文章
|
1月前
|
Web App开发 网络协议 Java
Windows 终端命令详解:PowerShell 初学者指南
Windows 终端是一个命令行工具,允许用户通过文本命令与系统交互,执行文件管理、系统配置和网络诊断等操作。PowerShell 是 Windows 终端的现代版本,相比传统的命令提示符(CMD),它功能更强大,支持脚本编写和复杂任务处理。本文将以 PowerShell 为主,带你从零开始学习。
451 6
|
4月前
|
前端开发
Promise.all()方法的作用是什么?
Promise.all()方法的作用是什么?
396 121
|
1月前
|
消息中间件 人工智能 Apache
Apache RocketMQ × AI:面向 Multi-Agent 的事件驱动架构
本文介绍基于Apache RocketMQ构建异步化Multi-Agent系统的新架构,通过语义化Topic实现Agent能力发现,利用Lite-Topic支持轻量级异步通信与结果反馈,结合InterestSet+ReadySet事件驱动模型,高效支撑任务闭环、状态恢复与动态编排,为Agentic AI提供高扩展、低延迟的协同机制。
|
6月前
|
开发者 UED 容器
07.精通HarmonyOS Flex对齐:从基础到高级布局技巧(上)
在HarmonyOS Next的ArkUI框架中,Flex容器提供了强大而灵活的对齐系统,使开发者能够精确控制子元素在容器中的排列方式。掌握这些对齐技术,是构建专业级用户界面的关键。
230 0
|
C++
C++中的const指针与const引用
C++中的const指针与const引用
376 2
|
JavaScript Java 测试技术
基于SpringBoot+Vue的在线文档管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的在线文档管理系统的设计与实现(源码+lw+部署文档+讲解等)
262 1
基于SpringBoot+Vue的在线文档管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
监控 数据挖掘 UED
ROI
【5月更文挑战第16天】ROI
4172 4
|
XML Java Maven
Spring之Aop的注解使用
Spring之Aop的注解使用
|
移动开发 前端开发
ruoyi-nbcio-plus基于vue3的flowable的业务表单升级修改(二)
ruoyi-nbcio-plus基于vue3的flowable的业务表单升级修改(二)
302 0
|
安全 Java Android开发
MediaPlayer
MediaPlayer
219 0