java输出和为10的数字组合

admin3个月前软件教程38

在Java编程中,输出和为10的数字组合是一个常见的题目。

public class Solution {// 找到和为target的数字组合public List>combinationSum(int[] candidates, int target) {// 初始化结果集List>res = new ArrayList<>();// 如果输入为空,返回空结果if (candidates == null || candidates.length == 0) {return res;}// 排序,保证结果按照顺序输出Arrays.sort(candidates);// 找到和为target的所有组合findCombinationSum(res, new ArrayList<>(), candidates, target, 0);// 返回结果return res;}// 递归找到所有组合private void findCombinationSum(List>res, Listtemp, int[] candidates, int target, int start) {// 如果和为target,将组合加入到结果集中if (target == 0) {res.add(new ArrayList<>(temp));return;}// 如果target大于当前元素,继续往下找for (int i = start; i< candidates.length && candidates[i]<= target; i++) {// 添加当前元素temp.add(candidates[i]);// 继续找下一个元素findCombinationSum(res, temp, candidates, target - candidates[i], i);// 回溯temp.remove(temp.size() - 1);}}}

以上是Java代码实现输出和为10的数字组合。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

谈谈什么是嵌入式软件开发?

通常一个嵌入式设备,比如pda有一个嵌入式的操作系统(类似于一般的操作系统,比如xp,2000等等),但是光有一个系统什么都干不了,那么就需要嵌入式的应用软件,这样的软件的开发是基于嵌入式操作系统的,...

b站硬币在哪里领

b站每天登录后可领取登录1硬币奖励,UP主可通过投稿视频来获得更多硬币(观众投币的百分之十将作为UP主的硬币收入奖励),每日直播用户有1次机会将700银瓜子兑换成1硬币。哔哩哔哩现为中国年轻世代高度聚...

智慧农业APP开发具备什么功能

智慧农业正在流行,无论是企业机构还是农民本人,都看到技术背后的商机以及便捷性,纷纷把注意力转向这方面的技术。智慧农业APP开发具备农业百科、政策商情、通知公告、农技处方等功能,农民在平台上能找到自己所...

拼多多评价能改吗

以拼多多v5.28.0为例,拼多多的评价暂时是没有办法修改的,你的评价生效之后就不能再进行修改。拼多多是上海寻梦信息技术有限公司于2015年9月上线的一家专注于C2B拼团的第三方社交电商平台。用户通过...

腾讯会议能看到别人在干什么吗

腾讯会议不能看到别人在干什么,腾讯会议是没有这个权限的。只要你不授权,那么其他人是无法看见你在干什么的,只有你开启了语音、视频等功能的权限后,对方才能看到你。腾讯会议是腾讯云旗下一款云会议产品,于20...

钉钉撤回消息能恢复吗

钉钉撤回的消息是不能恢复的,只有重新发送。撤回聊天消息指收回该条信息,就像没有发送过一样,对方收到的消息也会撤回。钉钉(DingTalk)是中国领先的智能移动办公平台,由阿里巴巴集团开发,于2015年...