news 2026/6/23 4:18:54

力扣216 组合总和III java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣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; }

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 13:49:42

Gitee:本土化项目管理软件的崛起与未来

Gitee&#xff1a;本土化项目管理软件的崛起与未来 从代码托管到智能开发中枢的演进之路 在数字化转型的浪潮席卷全球的当下&#xff0c;项目管理软件已成为企业提升运营效率的关键抓手。作为中国本土领先的代码托管与协作平台&#xff0c;Gitee&#xff08;码云&#xff09;…

作者头像 李华
网站建设 2026/6/23 13:11:37

Claude Code界面美化:3个步骤让你的AI助手颜值飙升

Claude Code界面美化&#xff1a;3个步骤让你的AI助手颜值飙升 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex co…

作者头像 李华
网站建设 2026/6/21 16:29:21

用R分析时间序列(time series)数据

时间序列&#xff08;time series&#xff09;是一系列有序的数据。通常是等时间间隔的采样数据。如果不是等间隔&#xff0c;则一般会标注每个数据点的时间刻度。 下面以time series 普遍使用的数据 airline passenger为例。 这是十一年的每月乘客数量&#xff0c;单位是千人次…

作者头像 李华
网站建设 2026/6/17 10:51:58

水利工程前沿国际期刊精选

期刊名称: 当代水电科技ISSN印刷版: 3060-8767研究领域: 工程技术 水利工程 电力能源 出版模式: 开放获取&#xff08;OA&#xff09;出版周期: 2-3个月出刊检索版面要求: 5000字符/3版期刊收录: 知网CNKI 出版社: 新加坡✥聚知刊期刊名称: 水电水利ISSN印刷版: 2529-782…

作者头像 李华
网站建设 2026/6/22 7:12:10

25 万亿美元超级风口下,中国智造如何执掌机器人时代

当摩根士丹利在《机器人年鉴》中抛出 “2050 年全球机器人硬件销售额将达 25 万亿美元” 的预测时&#xff0c;一个足以重塑全球产业格局的超级风口已然成型。从 2025 年的约 1000 亿美元到 25 万亿美元的指数级跨越&#xff0c;不仅意味着机器人将从工业车间、物流仓库走向千家…

作者头像 李华