从m个数中取出n个

       最近在看一些面试题目,看到有一道从m个数中取出n个数的题目,从网上看到一篇很好的算法解析,留作传送门。

private static IntegerM =5;

private static IntegerN =3;

private static Integer[]a = {1,2,3,4};

//用于存储下标

private static Integer[]b =new Integer[N];

public static void main(String[] args) {

needArr(M,N);

}

private static void needArr(Integer m, Integer n) {

int i;

int j;

for (i = n; i <= m; i++) {

b[n -1] = i -1;

if (n >1)

//核心思想,从m-1个数中取出n-1个数

            needArr(i -1, n -1);

else {

//打印输出

for (j =0; j

System.out.print(a[b[j]] +"\t");

}

System.out.println();

}

}

}

拾人牙慧,附上原链接

https://blog.csdn.net/denygod/article/details/51150166

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。