我有一个包含 n 个元素的数组,我需要将它们的所有 2-组合放入长度为 2 的数组中。例如:
假设 comb 是一个二维数组。
n = 1,2,3
我需要像这样将所有 2-组合放入 comb[i][j] 中:
comb[0][0] = {1}
comb[0][1] = {2}
comb[1][0] = {1}
comb[1][1] = {3}
comb[2][0] = {2}
comb[2][1] = {3}
我不知道怎么写代码!谢谢
我的答案:
O(n!) 答案:n = 总数 m= 可能的答案总数
int m = 0;
for (int i = 0; i < n - 1; i++){
int first = a[i];
for(int j = i+1 ; j < n ; j++){
int second = a[j];
comb[m][0] = first;
comb[m][1] = second;
++m;
}
}