標籤:style blog http color java ar for div art
//比如在數組a[]={1,7,89,87} 中k=2的時候 組合為 C(4,2)=6
package 再次開始;import java.util.ArrayList;//本次實現的是在n個不重複樹中提取k個;輸出各種組合//在 1 2 3 7 8public class 組合問題 { public static void main(String args[]) { int arr[]=new int[]{1,3,4,6,9};// ArrayList<Integer> arry=new ArrayList<Integer>();//用於儲存當前的求得的序列 dfs(arr,arry, 3, 0); } // arry 原始排序數組, k表示取多少個,start表示當前可以選取的下標 private static void dfs(int[] arr,ArrayList<Integer> arry, int k, int start) { // TODO Auto-generated method stub if(arry.size()==k) { System.out.println(arry); return; } else { for(int i=start;i<arr.length;i++) { arry.add(arr[i]); dfs(arr,arry,k,i+1); arry.remove(arry.size()-1); } } } }
ref:http://blog.csdn.net/u010500263/article/details/18435495
int arr[]=new int[]{1,3,4,6,9};取得3個
[1, 3, 4][1, 3, 6][1, 3, 9][1, 4, 6][1, 4, 9][1, 6, 9][3, 4, 6][3, 4, 9][3, 6, 9][4, 6, 9]
C(n,k)在n個不重複數中獲得k個數