在我的函数中,我必须找到给定数组K中给定数组的所有唯一三元组。它发现所有的三胞胎,但其中不少是有两次或两次以上类似1 1 5
是相同1 5 1
或5 1 1
等找到唯一的三元组
有人可以帮我吗?
int triplet(int *array, int size, int K) {
int i, j, k;
int found = 0; /* triplets whose sum is equal to K */
for(i = 0; i < size; i++) {
for (j = 0; j < size; j++) {
for (k = 0; k < size; k++) {
if(array[i] + array[j] + array[k] == K) {
printf("Triplet Found : %d, %d, %d\n", array[i], array[j], array[k]);
found++;
}
}
}
}
return found;
}
使用'id + 1'将不适用于OP提供的示例(1 1 5) –
我认为这是一个输出示例,而不是输入,它可以工作: – Giovazz89
array [0] + array [1] + array [2] == K – Giovazz89