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

力扣216 组合总和III java实现

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

本题就是在[1,2,3,4,5,6,7,8,9]这个集合中找到和为n的k个数的组合,相对于力扣77题,无非就是多了一个限制,本题是要找到和为n的k个数的组合,而整个集合已经是固定的了[1,...,9]。

public static void main(String[] args) { // 测试用 List<List<Integer>> list = combinationSum3(3, 7); for (List<Integer> integers : list) { System.out.println(integers); } } public static List<List<Integer>> combinationSum3(int k, int n) { List<List<Integer>> res = new ArrayList<>(); helper(k, n, new ArrayList<>(), res, 1, 0); return res; } public static void helper(int k, int n, List<Integer> temp, List<List<Integer>> res, int cur, int sum){ if (temp.size() > k || sum > n){ return; } for (int i = cur; i <= 9; i++) { sum = sum + i; temp.add(i); if (sum == n && temp.size() == k){ res.add(new ArrayList<>(temp)); sum = sum - i; temp.remove(temp.size() - 1); return; } if (sum > n){ sum = sum - i; temp.remove(temp.size() - 1); return; } helper(k, n, temp, res, i + 1, sum); sum = sum - i; temp.remove(temp.size() - 1); } return; }

以上为记录分享用,代码较差请见谅

http://www.cnnetsun.cn/news/132069.html

相关文章:

  • Gitee:本土化项目管理软件的崛起与未来
  • 3分钟上手BiliLocal:让本地视频也能享受B站弹幕乐趣![特殊字符]
  • Claude Code界面美化:3个步骤让你的AI助手颜值飙升
  • 用R分析时间序列(time series)数据
  • 水利工程前沿国际期刊精选
  • 25 万亿美元超级风口下,中国智造如何执掌机器人时代
  • 【游戏AI突破性进展】:基于GNN的群体Agent协同决策模型实战解析
  • 中国汽车、无人机、机器人行业近十年
  • 【强烈推荐】大模型微调实战指南:从LLaMA Factory到Ollama,打造你的专属模型
  • 激光雷达与摄像头不同步?深度解析多传感器时间同步校准难题
  • UE5卡通渲染革命:MooaToon带你实现电影级三渲二效果
  • 如何快速掌握Stable Diffusion WebUI Forge:面向用户的完整教程
  • 17、网络基础与操作指南
  • 元宇宙中的智能体交互难题:90%开发者忽略的延迟一致性陷阱
  • Unity内置着色器完整使用指南:从入门到精通
  • MCP与Azure量子协同容错设计,揭开企业级量子应用稳定性的秘密
  • 当JS拷贝玩起了“俄罗斯套娃”:深拷贝与浅拷贝的趣味对决
  • 北京创业省钱攻略!0 元注册公司不是梦
  • 行业标杆 | 越秀地产入选「2025年度数据湖仓应用创新先锋企业」
  • 云边 Agent 延迟优化全攻略(99%工程师忽略的底层机制曝光)
  • 【物流运输Agent路线优化】:揭秘智能路径调整背后的算法黑科技
  • 终于搞懂了!React Agent的实现思路原来这么简单,核心就这3步!
  • FLORIS风电场仿真终极指南:10个核心技巧快速掌握工程尾流模型
  • 工业HMI常见故障及排查方法:黑屏、通信中断、操作无响应,新手别慌
  • 55页PDF信息系统项目管理师考神笔记
  • 工业HMI的发展趋势:智能化、一体化、移动化,新手该怎么跟上?
  • 【高频卫星信号处理突破】:3步实现Agent端低延迟响应
  • 联想拯救者BIOS隐藏功能一键解锁:3分钟搞定高级设置终极教程
  • 从功能测试到自动化转型:测试工程师的进阶之路
  • 测试与开发的协同工作模式:从对立到共生的范式演进