Integer[] datas = new Integer[]{1,2,3,4,5,6,7,8,9,10,11};//目标数组
Integer min = 6;//大于等于的值
Integer max = 12;//小于等于的值
Integer count = 3;//指定数量
根据count如:3,3个数相加大于等于min小于等于max,2个数相加大于等于min小于等于max,1个数相加大于等于min小于等于max。
如果count=2,2个........,1ge.........。
返回List。
下面代码是我写死,我想知道怎样写活【count】publicstaticvoidmain(String[]args){
Integer[]datas=newInteger[]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
Integermin=6;
Integermax=12;
Integercount=3;
Listtest=test(datas,min,max,count);
for(Integer[]integers:test){
for(Integert:integers){
System.out.print("["+t+"]");
}
System.out.println("");
}
}
publicstaticListtest(Integer[]datas,Integermin,Integermax,Integercount){
Listresult=newArrayList<>();
switch(count){
case1:
result.addAll(one(datas,min,max));
break;
case2:
result.addAll(one(datas,min,max));
result.addAll(two(datas,min,max));
break;
case3:
result.addAll(one(datas,min,max));
result.addAll(two(datas,min,max));
result.addAll(three(datas,min,max));
break;
}
returnresult;
}
publicstaticListone(Integer[]datas,Integermin,Integermax){
Listresult=newArrayList<>();
for(inti=0,len=datas.length;i
if(datas[i]>=min&&datas[i]<=max){
result.add(newInteger[]{i});
}
}
returnresult;
}
输出的【下标】组合[5]
[6]
[7]
[8]
[9]
[10]
[11]
[0][4]
[0][5]
[0][6]
[0][7]
[0][8]
[0][9]
[0][10]
[1][3]
[1][4]
[1][5]
[0][1][2]
[0][1][3]
[0][1][4]
[0][1][5]
[0][1][6]
[0][1][7]
[0][1][8]
[0][2][3]
[0][2][4]
[0][2][5]
[0][2][6]
[0][2][7]
[0][3][4]
[0][3][5]
java如何取出数组指定数据6_java 从数组取出指定数量的值 相加大于等于或小于等于指定的值 取出对应的组合下标 下标不能重复...