当前位置:神舟问>百科知识>java 算法

java 算法

2024-04-07 05:08:15 编辑:join 浏览量:550

问题补充说明:请问:从M个数种选出N个(M>N),不记顺序,用java程序如何实现.... 我想问的是怎么实现,循环+随机数么?

java 算法

//不加分就真对不起我来自的答案了

publicstaticSetgetSubArray(List<In360问答teger>in术伟组官误士领itList,intsize){

Se理较tresult=newHashSet();

getNex调眼松滑缺发架tIntArray(initList,null,size,resu卫保氢建客花lt);

retur形货二钟nresult;

}

p翻安理哪力八阶测怕ublicstatic油山他丰波沿的绝引要voidmain(Str哥红轴ing[]args){

Listinit兴List=newArrayList(8);

in装关局河举只绍商并秋itList.add(1);

initList.add(2);

initLis几t.add(3);

initLi本缺田st.add(4);

initList.add(5);

initList.add(6);

initList.add(7);

initList.add(8);

Set<int[]>res=g投帮础呀确省例照滑etSubArray(球本入例线叶知功雨济病initList,4);

}

publicstaticvoidgetNextIntArray(List<Int增eger>initList,int[]array,intsize,Setres){

booleanisEnd=外并较劳间绍团true;

if(array==null){

isEnd=false;

array=newint[size];

for(inti=0;i<size;i++){

array[i]=i;

}

}else{

for(inti=0;i<size;i++){

if(array[size-i-1]+i+1>initList.size()-1){

continue;

}else{

array[size-i-1]=array[size-i-1]+1;

if(i!=0){

for(intj=size-i;j<size;j++){

array[j]=array[size-i-1]+1+j+i-size;

}

}

isEnd=false;

break;

}

}

}

if(isEnd){

return;

}

int[]result=newint[size];

for(inti=0;i<array.length;i++){

result[i]=initList.get(array[i]);

}

System.out.println(Arrays.toString(result));

res.add(result);

getNextIntArray(initList,array,size,res);

}

标签:java,算法

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/article/319892.html
热门文章