从数组中取n个数有多少种组合

xiaoxiao2025-04-26  12

private void mergeSort() { // int[] aa = {3, 5, 7, 9, 8, 4, 6, 1, 2}; // merge(aa, 0, aa.length-1); // for (int i=0;i<aa.length;i++) { // Log.e("huang",aa[i]+""); // } int[] arr={1,2,3,4}; int[] result=new int[2]; int n = 2,index = 2; int ct = 0; combine(arr,ct,result,index,n,arr.length); Log.e("huang","dgkg"+aaa); } /* * 原始数组:int[] arr 另一个存放下标的数组:int[] result 取多少个数:int n 数组result中的索引:int index 遍历的起始位置:int start 原始数组的长度:int arr_len*/ int aaa=0; void combine (int arr[],int start,int result[],int index,int n,int arr_len) { int ct = 0; for(ct = start;ct < arr_len-index+1;ct++){ result[index-1] = ct; if(index-1==0){ int j; aaa++; for(j = n-1;j>=0;j--) Log.e("huang",arr[result[j]]+""); } else combine(arr,ct+1,result,index-1,n,arr_len); } }
转载请注明原文地址: https://www.6miu.com/read-5029164.html

最新回复(0)