求两个数组中相同的元素 题目描述 输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素(如a[6]={2,3,4,5,6,7},b[8]={3,5,7,9,11,13,15,19},则输出3、5、7)
时间: 2023-08-03 11:07:17 浏览: 104
可以使用两个循环分别遍历两个数组,对于每一个元素,再嵌套一层循环去遍历另一个数组查找是否存在相同的元素。
具体实现可以参考下面的代码:
```python
a = [2, 3, 4, 5, 6, 7]
b = [3, 5, 7, 9, 11, 13, 15, 19]
result = []
for x in a:
for y in b:
if x == y:
result.append(x)
print(result) # 输出 [3, 5, 7]
```
需要注意的是,这个算法的时间复杂度为 O(n^2),如果数组很大的话会比较慢。如果需要更快的算法,可以考虑将数组先排序,然后使用双指针法来查找相同元素,时间复杂度可以降到 O(nlogn) 或者 O(n)。
相关问题
C语言,题目描述 输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素(如a[6]={2,3,4,5,6,7},b[8]={3,5,7,9,11,13,15,19},则输出3、5、7)。
好的,以下是使用 C 语言实现输出两个数组中都出现的元素的代码,可以帮助您解决问题:
```c
#include <stdio.h>
int main() {
int a[6] = {2, 3, 4, 5, 6, 7};
int b[8] = {3, 5, 7, 9, 11, 13, 15, 19};
int i, j;
printf("在两个数组中都出现的元素为:");
for (i = 0; i < 6; i++) {
for (j = 0; j < 8; j++) {
if (a[i] == b[j]) {
printf("%d ", a[i]);
break;
}
}
}
printf("\n");
return 0;
}
```
在这段代码中,我们先定义了两个数组 `a` 和 `b`,并且确定了它们的元素个数。然后,我们使用两个循环分别遍历这两个数组,并将它们的元素逐个进行比较。如果发现某个元素在两个数组中都出现了,我们就将它输出。最后打印输出结果。
希望这个代码可以帮助您解决问题。
题目描述 输入两个数组大小m和n(m和n均<=20),接着输入两个数组的具体元素内容,输出在两个数组中都出现的元素(如a的元素值分别为2,3,4,5,6, b的元素值分别为3,5,7,9,11,13 ,则输出3、5。 输入 第一行输入m和n的值,中间空格分开 第二行输入第一个数组的元素值,共m个 第三行输入第二个数组的元素值,共n个 输出 样例输入 5 6 2 3 4 5 6 3 5 7 9 11 13 样例输出 3 5 C语言
以下是C语言的实现代码:
```c
#include <stdio.h>
int main() {
int m, n;
scanf("%d%d", &m, &n);
int a[m], b[n];
for(int i = 0; i < m; i++) {
scanf("%d", &a[i]);
}
for(int i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
if(a[i] == b[j]) {
printf("%d ", a[i]);
break;
}
}
}
return 0;
}
```
我们首先读入数组的大小m和n,然后分别读入两个数组a和b的元素值,接着使用两重循环遍历这两个数组,如果在a中找到了一个元素和b中的某个元素相等,则输出这个元素,并跳出内层循环。整个程序结束后返回0。
阅读全文