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

LeeCode题库第三十九题

39.组合总和 

项目场景:

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。

candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 

对于给定的输入,保证和为 target 的不同组合数少于 150 个。

示例 1:

输入:candidates = [2,3,6,7], target = 7
输出:[[2,2,3],[7]]
解释:
2 和 3 可以形成一组候选,2 + 2 + 3 = 7 。注意 2 可以使用多次。
7 也是一个候选, 7 = 7 。
仅有这两种组合。

示例 2:

输入: candidates = [2,3,5], target = 8
输出: [[2,2,2,2],[2,3,3],[3,5]]

示例 3:

输入: candidates = [2], target = 1
输出: []

提示:

  • 1 <= candidates.length <= 30
  • 2 <= candidates[i] <= 40
  • candidates 的所有元素 互不相同
  • 1 <= target <= 40


问题描述

        本题可以利用递归,先将candidate数组排序,递归过程中,如果剩下的数字left为0则添加此时的路径,如果此时i已经为candidate数组最后一个元素或者剩下的数字left小于此时的candidate数组元素,则回退return。递归过程中先不断递归使得candidate最大,如果符合则将此时对应candidate数组的元素加入到path中,继续递归left,否则就pop掉此时的元素,继续进行遍历。

class Solution:def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:       candidates.sort()ans=[]path=[]def dfs(i:int,left:int)->None:if left==0:ans.append(path.copy())returnif i==len(candidates) or left<candidates[i]:return dfs(i+1,left)path.append(candidates[i])dfs(i,left-candidates[i])path.pop()dfs(0,target)return ans

        本题提交情况。

 

        以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!  

相关文章:

LeeCode题库第三十九题

39.组合总和 项目场景&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同…...

卫星网络仿真平台:IPLOOK赋能空天地一体化通信新生态​

卫星仿真平台 在6G技术加速演进与天地一体化网络建设的大背景下&#xff0c;卫星通信作为地面网络的重要补充&#xff0c;正成为全球通信覆盖的关键支撑。IPLOOK凭借其深厚的技术积累与创新实践&#xff0c;推出的卫星网络仿真平台​&#xff08;SCEPS&#xff09;&#xff0c…...

(十一)基于vue3+mapbox-GL实现模拟高德实时导航轨迹播放

要在 Vue 3 项目中结合 Mapbox GL 实现类似高德地图的实时导航轨迹功能,您可以按照以下步骤进行: 安装依赖: 首先,安装 mapbox-gl 和 @turf/turf 这两个必要的库: npm install mapbox-gl @turf/turf引入 Mapbox GL: 在组件中引入 mapbox-gl 并初始化地图实例: <templ…...

计算机面试项目经历描述技巧

在计算机类岗位的面试中&#xff0c;项目经历是面试官评估候选人技术能力、问题解决能力和实战经验的核心环节。以下是专业化的项目经历描述策略&#xff08;附模板框架&#xff09;&#xff1a; 一、结构化表达框架&#xff08;STAR-RT模型&#xff09; Situation&#xff08;…...

132. 分割回文串 II

简单分析 输入的参数是字符串s&#xff0c;返回值是最小的切割次数。那这个问题的典型解法应该是动态规划&#xff0c;因为我们需要找最优解&#xff0c;而每一步的选择可能会影响后面的结果&#xff0c;但可以通过子问题的最优解来构建整体最优解。 那么动态规划的状态如何定…...

【每日学点HarmonyOS Next知识】全局调整字体、h5选择框无法取消选中、margin不生效、Length转换为具体值、Prop和link比较

【每日学点HarmnoyOS Next知识】全局调整字体、h5选择框无法取消选中、margin不生效、Length转换为具体值、Prop和link比较 1、HarmonyOS 是否存在统一调整全局字体大小的方法&#xff1f; 是否存在统一调整全局字体大小的方法 可以用动态属性&#xff0c;自定义class实现At…...

九、Spring Boot:自动配置原理

深入解析 Spring Boot 自动配置原理 Spring Boot 的自动配置机制是其最核心的特性之一&#xff0c;它极大地简化了 Spring 应用的初始搭建和开发过程。通过自动配置&#xff0c;Spring Boot 能够根据项目的依赖和配置自动加载和配置 Spring 应用的各个部分。本文将深入探讨 Sp…...

(动态规划 最长重复子数组)leetcode 718

思路就是建立一个二维的dp数组&#xff0c;只要nums1[i]nums2[j]&#xff08;nums1和nums2出现重复元素就置1 并加上左上角的值) 为什么代码是nums1 i-1和nums2 i-1 答&#xff1a;因为i和j以1为初始值开始遍历的 为什么要这么做并且为什么要加dp【i-1】【j-1】&#xff1f; …...

SFP+(Enhanced Small Form-factor Pluggable)详解

1. SFP的定义 SFP&#xff08;Small Form-factor Pluggable Plus&#xff09;是SFP的增强版本&#xff0c;专为10Gbps及以上高速网络设计。它继承了SFP的小型化、热插拔特性&#xff0c;但通过优化电气接口和协议支持&#xff0c;实现了更高的传输速率&#xff08;典型为10Gbp…...

计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 知识图谱 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

Deepseek对ChatGPT的冲击?

从测试工程师的视角来看&#xff0c;DeepSeek对ChatGPT的冲击主要体现在**测试场景的垂直化需求与通用模型局限性之间的博弈**。以下从技术适配性、效率优化、风险控制及未来趋势四个维度展开分析&#xff1a; --- ### **一、技术适配性&#xff1a;垂直领域能力决定工具选择…...

【Python 初级函数详解】—— 参数沙漠与作用域丛林的求生指南

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…...

极客大学 java 进阶训练营怎么样,图文详解

Spring 思维导图 Spring 源码学习笔记 有关微服务的面试题&#xff1a; Dubbo中zookeeper做注册中心&#xff0c;如果注册中心集群都挂掉&#xff0c;发布者和订阅者之间还能通信么&#xff1f;微服务学习笔记 有关分布式的面试题&#xff1a; 消息幂等:如何保证消息不被重复…...

机器人学习模拟框架 robosuite (3) 机器人控制代码示例

Robosuite框架是一个用于机器人模拟和控制的强大工具&#xff0c;支持多种类型的机器人。 官方文档&#xff1a;Overview — robosuite 1.5 documentation 开源地址&#xff1a;https://github.com/ARISE-Initiative/robosuite 目录 1、通过键盘或SpaceMouse远程控制机器人…...

玩转python: 几个案例-掌握贪心算法

什么是贪心算法 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法策略。它不从整体最优上加以考虑&#xff0c;只做出在某种意义上的局部最优解。下面我们将通过几个案例…...

腾讯集团软件开发-后台开发方向内推

熟练掌握C/C/Java/Go等其中一门开发语言&#xff1b; TCP/UDP网络协议及相关编程、进程间通讯编程&#xff1b; 专业软件知识&#xff0c;包括算法、操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等 有一定了解的&#xff1a; 1、Python、Shell、Perl等脚本语…...

哈希碰撞攻防战——深入浅出Map/Set的底层实现

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习Map/Set的底层实现 目录 问题一&#xff1a;hash会出现负数&#xff1f;数组越界 一&#xff1a;什么是二叉搜索树&#xff1f…...

深度解析Ant Design Pro 6开发实践

深度解析Ant Design Pro 6全栈开发实践&#xff1a;从架构设计到企业级应用落地 一、Ant Design Pro 6核心特性与生态定位&#xff08;技术架构分析&#xff09; 作为Ant Design生态体系的旗舰级企业应用中台框架&#xff0c;Ant Design Pro 6基于以下技术栈实现突破性升级&am…...

用大白话解释基础框架Spring Boot——像“装修套餐”一样简单

SpringBoot是什么&#xff08;SpringBoot类似装修公司的全包套餐&#xff09; SpringBoot是Java开发者的“装修神器”&#xff0c;可以快速搭建一个应用系统&#xff0c;不用自己亲自买钉子、水泥和瓷砖&#xff08;相当于传统的Spring框架的复杂配置&#xff09;&#xff0c;…...

第十三届蓝桥杯大赛软件赛决赛C/C++ 大学 B 组

A 【2022——暴力DP / 优雅背包】-CSDN博客 B 【钟表——类日期问题】-CSDN博客 C 【卡牌——二分】-CSDN博客 D 【最大数字——DFS】-CSDN博客 E 【出差——Dijkstra】-CSDN博客 F 【费用报销——01背包】-CSDN博客 G 【故障——条件概率】-CSDN博客 H 【机房—…...

从OpenAPI 3.1规范到实时交互式文档:ChatGPT驱动的API文档生成闭环体系(含性能压测数据对比)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;从OpenAPI 3.1规范到实时交互式文档&#xff1a;ChatGPT驱动的API文档生成闭环体系&#xff08;含性能压测数据对比&#xff09; OpenAPI 3.1 是首个原生支持 JSON Schema 2020-12 的 API 描述标准&#xff0c…...

Linux sed 流编辑器实战 —— 批量修改文本、替换、删除、插入(运维必备)

前言sed 是 Linux 最核心的非交互式流编辑器&#xff0c;专门用来批量修改文本、替换字符串、删除行、插入行、注释配置&#xff0c;不用手动打开文件&#xff0c;一条命令搞定批量操作&#xff0c;是运维、开发处理文件的神器。本文从基础语法到正则实战&#xff0c;全覆盖工作…...

神州细胞递表港交所 创新生物制药领军者构筑A+H双平台全球化版图

5月22日&#xff0c;北京神州细胞生物技术集团股份公司&#xff08;证券代码&#xff1a;688520&#xff0c;证券简称&#xff1a;神州细胞&#xff09;正式向香港联合交易所有限公司递交上市申请&#xff0c;迈出“AH”双资本平台布局的关键一步。公司以科创板上市为根基&…...

实战测试10款降AIGC软件:只选真正管用的那一款!

随着AI写作工具的普及&#xff0c;论文撰写和内容创作变得前所未有的高效&#xff0c;许多学生和职场人都从中受益。然而&#xff0c;随着AIGC检测技术的不断升级&#xff0c;越来越多的人开始面临新的挑战&#xff1a;原本流畅自然的AI生成内容&#xff0c;如今很容易被系统识…...

Bazzite:专为游戏玩家打造的Linux操作系统深度解析

Bazzite&#xff1a;专为游戏玩家打造的Linux操作系统深度解析 【免费下载链接】bazzite Bazzite makes gaming and everyday use smoother and simpler across desktop PCs, handhelds, tablets, and home theater PCs. 项目地址: https://gitcode.com/gh_mirrors/ba/bazzit…...

SR全光谱反射式膜厚仪

作者&#xff1a;李志松Pioneer 翟天保Steven 田雨阳 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处注&#xff1a;本文所讲设备由李志松教授团队研发&#xff0c;属于商业产品矩阵内容&#xff0c;商业技术合…...

终极Windows激活解决方案:5步实现永久免费激活的完整指南

终极Windows激活解决方案&#xff1a;5步实现永久免费激活的完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活弹窗烦恼吗&#xff1f;是否经历过Office突然变成只读…...

从CRUD到AI:普通程序员转型大模型应用开发指南(收藏版)

本文针对有3-5年Java、前端或PHP开发经验的程序员&#xff0c;探讨了如何转型AI大模型应用开发。文章指出&#xff0c;虽然表面看起来与现有工作不同&#xff0c;但CRUD经验反而是转型优势&#xff0c;如API调用、业务流程理解、数据库知识和调试能力等。转型只需掌握Python基础…...

Appium环境搭建:Java/Node.js/ADB/Xcode可信三角验证指南

1. 为什么“Appium环境搭建”不是配置清单&#xff0c;而是项目生死线 很多人把Appium环境搭建当成一个“照着文档敲几行命令”的入门动作&#xff0c;甚至觉得“不就是装个Java、Android SDK、Node.js&#xff0c;再下个Appium Desktop点开就行&#xff1f;”——我去年带三个…...

ARMv8 AArch32调试异常机制与断点技术详解

1. AArch32调试异常架构解析在ARMv8架构的AArch32执行状态下&#xff0c;调试异常机制为开发者提供了强大的程序控制能力。这套机制通过硬件断点和软件断点指令&#xff08;BKPT&#xff09;实现对程序执行流的精确控制&#xff0c;其核心设计哲学体现在三个层面&#xff1a;异…...