题目描述
小鱼同学学习了并集和交集的概念。
(1)数组的并集:给定两个数组A,B,把他们所有的元素合并在一起,并按照从小到大排序组成的集合,叫做数组A与数组B的并集;比如:数组{1, 2, 3} 和 {2, 3, 4} 的并集是 {1, 2, 3, 4}。
(2)数的交集:给定两个数组A,B,由所有属于数组A且属于数组B的元素,并按照从小到大排序组成的集合,所组成的集合,叫做集合A与集合B的交集;比如:数组 {1,2,3} 和 {2,3,4} 的交集为 {2,3}。
现给定2个数组,每个数组都含有若干不重复的元素,请分别求出两个数组的并集和交集(测试数据确认两个集合一定有交集)。
输入格式
第一行有两个整数m和n(m,n都是10~1000之间的整数),分别代表A,B两个数组的长度
第二行有m个整数,代表A数组存储的整数,用空格隔开
第三行有n个整数,代表B数组存储的整数,用空格隔开
注:两个集合的数都是大于等于0小于等于1000的整数
输出格式
第一行输出两个数组的并集,用空格隔开这些元素
第二行输出两个数组的交集,用空格隔开这些元素
样例输入content_copy
3 4
2 1 3
5 4 3 2
样例输出content_copy
1 2 3 4 5
2 3
代码实现:
#include<bits/stdc++.h>
using namespace std;
int m,n,c,a[100000];
int main(){
cin>>m>>n;
for(int i=0;i<m;i++){
int s=0;
cin>>s;
a[s]++;
}
for(int i=0;i<n;i++){
int s=0;
cin>>s;
a[s]++;
}
for(int i=0;i<1005;i++){
if(a[i]!=0) cout<<i<<' ';
}
cout<<endl;
for(int i=0;i<1005;i++){
if(a[i]>1) cout<<i<<' ';
}
return 0;
}
标签:并集,交集,基础,整数,空格,int,数组,集合 From: https://blog.csdn.net/weixin_58205611/article/details/142904992