问题描述
给定两个含有n个元素的升序整型数组a和b,求出其共同元素‘
输入格式
第一行包含两个整数n,
接下来2行,每行n个正整数,分别表示数组a,b中元素。
输出格式
输出1行,包括所有的公共元素,按升序输出
样例输入
5
0 1 2 3 4
1 3 5 7 9
样例输出
1 3
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n), b(n);
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n; ++i) {
cin >> b[i];
}
vector<int> commons;
for (int i = 0; i < n; ++i) {
if (binary_search(b.begin(), b.end(), a[i])) {
commons.push_back(a[i]);
}
}
sort(commons.begin(), commons.end());
for (int i = 0; i < commons.size(); ++i) {
cout << commons[i] << " ";
}
cout << endl;
return 0;
}