我有一段我一直在研究的代码,它显示 array1 的值,这些值是 array2 的重复项和 array1 中其他值的重复项,但我在计算唯一值的数量时遇到了困难。 [sizeOfA、sizeOfB、a[]、b[]是通过main函数获取的]
int aDupes = 0;
int bDupes = 0;
int i, j, k;
for(i = 0; i < sizeOfA; i++){
for(j = 0; j < sizeOfB; j++){
if(a[i] == b[j]){
bDupes++;
}
}
}
for(i = 0; i < sizeOfA; i++){
for(j = i+1; j < sizeOfA; j++){
for(k = 0; k < sizeOfB; k++){
if(a[i] == a[j] && a[i] == b[k]){
aDupes++;
}
}
}
}
例如 a[] = {1, 3, 3, 5, 6, 7, 8} b[] = {1, 3, 8, 2} 会返回 aDupes = 1 ; bDupes = 4。但是唯一元素的数量应该是 3 (5, 6, 7)。我该怎么做?
最佳答案
int flag=0,unique=0;
for(i = 0; i < sizeOfA; i++){
for(j = i+1; j < sizeOfA; j++){
for(k = 0; k < sizeOfB; k++){
if(a[i] != a[j] && a[i] != b[k]){
flag++;
}
}
}
if (flag==0){
unique++;
}
flag=0;
}
这个unique
变量将给出数组a
的唯一元素的值
关于C - 给定两个数组,你如何找到其中一个数组的唯一元素的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40355137/