/**
*
* {1,2,3,4,5}, to get all the combines like {1}, {2}....{1,2}...{1,2,3,4,5}
* @author root
*
*/
public class AllCombine {
// public int[] b = new int[2];
public void list(int[] a){
assert(true);
for(int i=1; i<=a.length; i++){
int[] b = new int[i];
find(a, a.length, i, b);
}
}
/**
* find m from n
* @param a
* @param n
* @param m
*/
public void find(int[] a, int n, int m, int[] b){
assert(true);
for(int i=n; i>=m; i--){
b[m-1] = i - 1;
if(m > 1){
find(a, i-1, m-1, b);
}else{
for(int j=0; j<b.length; j++){
System.out.print(a[b[j]] + " ");
}
System.out.println();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
AllCombine ac = new AllCombine();
int[] a = {1,2,3,4,5};
ac.list(a);
// int[] b = new int[2];
// ac.find(a, 3, 2, b);
}
}
组合
最新推荐文章于 2024-12-30 09:02:14 发布