当前位置: 首页 > 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.gsyq.cn/news/1532079.html

相关文章:

  • 2026有孵化器国际EMBA客观测评:理性择校选型指南
  • ASTM D4169-23E1分配周期DC4运输包装试验
  • 长沙配眼镜多少钱?锁定功能性镜片高性价比方案 - 配眼镜新资讯
  • AlienFX Tools:重新定义Alienware设备控制的轻量级开源方案
  • 完全二叉树与堆底层原理深度剖析 | 手写C++大顶堆实现
  • 自幂数(水仙花数)的趣味探索:用Python和C++分别实现,并聊聊背后的数学故事
  • 2026年宜春市CPPM考试最新全攻略:科目题型、通过率、备考重点及官方双认证报考机构推荐 - 众智商学院课程中心
  • 别再只用admin/123456了!一份给运维和开发者的企业常见系统默认密码自查清单(附绿盟、深信服等设备清单)
  • Volga按需计算层:为AI推理打造请求驱动的实时特征计算中枢
  • 3D隐写术与StegoNGP系统:高安全性信息隐藏技术解析
  • 2026世界杯伊拉克VS挪威沙漠雄狮难挡北欧黑仲马
  • Ryzen AI 与 Radeon GPU 协同性能深度评测
  • 终极指南:让Apple触控板在Windows上完美运行的3种简单方法
  • 花生十三网课网盘|百度网盘|下载
  • AI 电动行李箱智能功率 MOSFET 完整选型方案
  • 2026年成都柔性LED软屏选购指南:6家本土企业深度评测与案例解析 - 优质品牌商家
  • 花生十三网课资源|全科|视频
  • 【TEE从入门到精通及实战】15 用Python构建SGX Enclave生命周期管理工具:从创建到验证的端到端实战
  • 2026薛家岛街道专业的空调拆装公司联系方式 - 品牌排行榜
  • OpenClaw(小龙虾)Windows 可视化部署指南 | 5分钟搭建桌面 AI 数字员工
  • 2026 年 6 月 14 日 Linux 内核稳定版 7.1 发布,多子系统修复增强安全稳定性
  • 北京陈年老酒上门回收机构权威排名|专业鉴定高价回收,附预约热线 - 光耀华夏品牌榜
  • 2026年 威海气泡膜/气泡袋厂家推荐榜单:快递打包/电子产品/食品包装防护气泡膜品牌深度解析 - 品牌发掘
  • Token海啸下的算力链变局:从金山云50%涨价到MaaS的生死棋局
  • WSABuilds终极指南:在Windows上完美运行安卓系统的完整教程
  • Linux kvmtool Kernel Virtual Machine Tool and ramfs Loading
  • MultiLogin:如何高效解决Minecraft多认证源共存难题?
  • 北京 16 区上门收酒权威榜单|专业鉴酒、当场结算,靠谱商家排名一览 - 光耀华夏品牌榜
  • WASM AI 推理性能优化:浏览器端模型推理的工程实践
  • 提示工程不是话术,是可复用的AI交互工程体系