题意
两个长度分别为n,m的数组,第一个数组中和第二个数组中都有的数字按照第一个数组的顺序输出。
思路
vis数组记录出现次数,遍历a数组出现次数为2的输出。
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 15;
int n, m, a[MAXN], b[MAXN], vis[MAXN];
int main()
{
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]), vis[a[i]]++;
for (int i = 0; i < m; i++)
scanf("%d", &b[i]), vis[b[i]]++;
for (int i = 0; i < n; i++)
if (vis[a[i]] == 2) printf("%d ", a[i]);
printf("\n");
return 0;
}
/*
7 3
3 5 7 1 6 2 8
1 2 7
*/