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

LeetCode--216.组合总和III(回溯算法)

216.组合总和III

题目描述

找出所有相加之和为nk个数的组合,且满足下列条件:

  • 只使用数字1到9
  • 每个数字最多使用一次

返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

示例 1:

输入: k = 3, n = 7 输出: [[1,2,4]] 解释: 1 + 2 + 4 = 7 没有其他符合的组合了。

示例 2:

输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]] 解释: 1 + 2 + 6 = 9 1 + 3 + 5 = 9 2 + 3 + 4 = 9 没有其他符合的组合了。

示例 3:

输入: k = 4, n = 1 输出: [] 解释: 不存在有效的组合。 在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。

提示:

  • 2 <= k <= 9
  • 1 <= n <= 60

代码

classSolution{// 存放最终结果List<List<Integer>>result=newArrayList<>();// 存放当前组合路径List<Integer>path=newLinkedList<>();// 当前路径元素总和intsum=0;/** * 回溯函数 * * @param k 需要选择的数字个数 * @param n 目标和 * @param startIndex 当前递归开始的位置 */publicvoidbacktracking(intk,intn,intstartIndex){// 剪枝:// 当前总和已经大于目标值// 后面继续选择只会更大if(sum>n)return;// 终止条件:// 当已经选择 k 个数字时if(path.size()==k){// 若当前总和等于目标值// 说明找到一个合法组合if(sum==n){result.add(newLinkedList<>(path));}return;}// 横向遍历for(inti=startIndex;i<=9-(k-path.size()-1);i++){// 剪枝:// 当前 i 选中后// 后面还需要 k - path.size() - 1 个元素// 若剩余元素不足,则停止遍历// 1. 做选择path.add(i);sum+=i;// 2. 递归进入下一层// 下一层从 i+1 开始,避免重复选择backtracking(k,n,i+1);// 3. 回溯(撤销选择)sum-=i;path.removeLast();}}publicList<List<Integer>>combinationSum3(intk,intn){// 从数字 1 开始搜索backtracking(k,n,1);returnresult;}}
http://www.jsqmd.com/news/1020236/

相关文章:

  • 从“技术炫技”到“用户价值”:AI 产品设计的务实转型
  • 杭州配眼镜去哪好:五种用眼场景对应五款镜片方案 - 配眼镜新资讯
  • 3步免费解锁Wand专业版:完整游戏修改体验终极指南
  • 长沙配眼镜多少钱?锁定功能性镜片高性价比方案 - 配眼镜新资讯
  • 深度解析游戏逆向工程:unnpk文件解析工具完整实战指南
  • ASTM D4169-23E1分配周期DC4运输包装试验
  • 2026有孵化器国际EMBA客观测评:理性择校选型指南
  • 氢原子基态能级跃迁紫外频段光子频率计算
  • AlienFX Tools:重新定义Alienware设备控制的轻量级开源方案
  • 镇江报名 CPPM 注册采购经理哪家靠谱?机构选择避坑指南 - 众智商学院课程中心
  • PXD10微控制器ADC模块实战:从配置到调试的嵌入式数据采集指南
  • 别再只用admin/123456了!一份给运维和开发者的企业常见系统默认密码自查清单(附绿盟、深信服等设备清单)
  • 完全二叉树与堆底层原理深度剖析 | 手写C++大顶堆实现
  • Volga按需计算层:为AI推理打造请求驱动的实时特征计算中枢
  • 【无人机覆盖路径规划】基于matlab分解和扫描线策略进行多边形区域的凹面感知覆盖路径规划【含Matlab源码 15630期】
  • 自幂数(水仙花数)的趣味探索:用Python和C++分别实现,并聊聊背后的数学故事
  • 动态知识演化的类型系统NM-DEKL3∞解析
  • 2026年宜春市CPPM考试最新全攻略:科目题型、通过率、备考重点及官方双认证报考机构推荐 - 众智商学院课程中心
  • 3D隐写术与StegoNGP系统:高安全性信息隐藏技术解析
  • 【TEE从入门到精通及实战】14 远程认证中的“信任链”陷阱:为什么你的Quote验证总是失败?
  • 长沙配眼镜去哪好?按五个日常场景匹配对应的镜片方案 - 配眼镜新资讯
  • 终极指南:让Apple触控板在Windows上完美运行的3种简单方法
  • 2026世界杯伊拉克VS挪威沙漠雄狮难挡北欧黑仲马
  • CTF PHP反序列化 __wakeup 绕过 完整实战(Windows+PHPStudy)
  • 【机器人】基于matlab Boids算法去中心化群体机器人仿真【含Matlab源码 15632期】
  • Ryzen AI 与 Radeon GPU 协同性能深度评测
  • 杭州配眼镜适合什么人:按预算分三档找到你的方案 - 配眼镜新资讯
  • 花生十三网课网盘|百度网盘|下载
  • SPE向量加载指令深度解析:从内存对齐到SIMD性能优化实战
  • 2026绍兴管道疏通真实测评!马桶/下水道疏通/疏通管道避坑更新版 - 极速版本