gpt4 book ai didi

c++ - 查找两个数组中的共同元素

转载 作者:行者123 更新时间:2023-11-30 16:09:30 27 4
gpt4 key购买 nike

这里的算法是找到两个数组中的公共(public)元素。一切似乎都很好,直到我进入

a[]={4,3,4,2}
b[]={4,1}

输出应该是

key[]={4}

相反,它给出:

key[]={4,4}

如何修复它?

int seqSearch(int arr[], int size, int key) {
for (int i = 0; i < size; i++)
if (arr[i] == key)
return i;
return 0;
}
void findDup(int a[], int b[], int& size1, int& size2, int key[], int& sizekey)
{
for (int i = 0; i < size1; i++)
for (int j = 0; j < size2; j++)
if (a[i] == b[j])
if (seqSearch(key, sizekey, a[i]) == 0)
{
key[sizekey] = a[i];
sizekey++;
}
}
int main() {
int a[max], b[max], key[100], size1, size2, sizekey=0;
findDup(a, b, size1, size2, key, sizekey);
}

最佳答案

索引0是函数seqSearch可能返回的有效索引。

使用 -1 代替(也在 if (seqSearch(key, sizekey, a[i]) == 0) 中)。

关于c++ - 查找两个数组中的共同元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123342/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com