关注
最后一道题 花了一个多小时想出来的!!!!!!!!!!!!!!!
public class 数组排列求和Demo {
public static void main(String[] args) {
int[] question= {1,3,8,2,7,9,5,4,1,5,4,1,2,2,3};
ArrayList ans = new ArrayList();
数组排列求和Demo m = new 数组排列求和Demo();
m.calculation(question,ans,16,0,0);
}
/**
* 求数组中所有和为target的集合
* 递归方法,回溯方法
* @param q 给定一个数组
* @param ans 展示可能性的链表
* @param target 问题
* @param i 表示层数,必须输入0
* @param sum 表示当前总数,必须输入0
*/
public void calculation(int[]q,ArrayList ans , int target,int i,int sum) {
for(int t = i;t<q.length;t++){
if(sum+q[t]>target){continue;}
if(sum+q[t]==target){
ans.add(q[t]);
System.out.println(ans);
ans.remove(ans.size()-1);
}
ans.add(q[t]);
sum+=q[t];
calculation(q,ans,target,t+1,sum);
//判断
ans.remove(ans.size()-1);
sum-=q[t];
}
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
5954次浏览 90人参与
# 春节提前走,你用什么理由请假? #
5666次浏览 134人参与
# 春节前,你还在投简历吗? #
8563次浏览 114人参与
# 牛友的春节生活 #
2560次浏览 73人参与
# 牛客AI体验站 #
13679次浏览 254人参与
# 实习到现在,你最困惑的一个问题 #
2317次浏览 67人参与
# 从夯到拉,锐评职场mentor #
2049次浏览 40人参与
# 聊聊Agent开发 #
16557次浏览 427人参与
# 备战春招/暑实,现在应该做什么? #
1920次浏览 62人参与
# 推荐一个值得做的AI项目 #
4498次浏览 136人参与
# 听劝,这个简历怎么改 #
380519次浏览 1826人参与
# 距离春招还有一个月,你现在是什么开局? #
3331次浏览 60人参与
# 暑期实习什么时候投? #
3939次浏览 92人参与
# 机械人的秋招小目标 #
28271次浏览 239人参与
# bilibili求职进展汇总 #
180799次浏览 1074人参与
# 找工作,行业重要还是岗位重要? #
96318次浏览 1837人参与
# 面试紧张时你会有什么表现? #
25323次浏览 170人参与
# 我的AI电子员工 #
27348次浏览 181人参与
# 实习想申请秋招offer,能不能argue薪资 #
218661次浏览 1171人参与
# 实习必须要去大厂吗? #
188569次浏览 1767人参与
查看20道真题和解析
OPPO公司福利 1180人发布