1 Importjava.util.ArrayList;2 Importjava.util.Arrays;3 4 5 Public classCombination {6 7 Public StaticArraylist<arraylist<integer>> Combine (intNintk) {8arraylist<arraylist<integer>> res =NewArraylist<arraylist<integer>>();9 if(N <= 0| | N <k)Ten returnRes; Onearraylist<integer> item =NewArraylist<integer>(); ADFS (N,k,1,item, res);//because it need to begin from 1 - returnRes; - } the - Private Static voidDfsintNintKintStart, arraylist<integer> item, arraylist<arraylist<integer>>Res) { - if(item.size () = =k) { -Res.add (NewArraylist<integer> (item));//because item is arraylist<t> so it would not be disappear from the stack to stack + System.out.println (item); - return; + } A for(inti=start;i<=n;i++){ at System.out.println (i); - Item.add (i); -DFS (n,k,i+1, item,res); - System.out.println (i); -Item.remove (Item.size ()-1); - System.out.println (item); in - } to } + - Public Static voidMain (string[] args) the { *arraylist<arraylist<integer>> res =NewArraylist<arraylist<integer>>(); $Res=combine (3,2);Panax Notoginseng System.out.println (res); - the } + A}
[1, 2]2[1]3[1, 3]3[1]1[]23 [2, 3]3[2]2[][][[1, 2], [1, 3], [2, 3]]
Eclipse Run Results for combination