文章
8
粉丝
53
获赞
0
访问
3.6k
使用map,因为map自带的去重和排序功能
对两组输入存入map,第一组的second值全为0,第二组的second值全为1
遍历第一组,每次去第二组中判断第一组中的键是否出现,如果出现,count++,并且将second的0置为1,表示出现了。
最后再遍历一遍第一组,输出second值为1的即可
#include<iostream>
#include<map>
using namespace std;
int main(){
int n;
cin>>n;
map<int,int>mp1;
map<int,int>mp2;
//两组输入
//第一组全置为0,第二组全置为1
for(int i=0;i<n;i++){
int a;
cin>>a;
mp1[a]=0;
}
for(int i=0;i<n;i++){
int b;
cin>>b;
mp2[b]=1;
}
map<int,int>::iterator it;
int count=0; //相同元素的个数
for(it=mp1.begin();it!=mp1.end();it++){
//第一组中的元素在第二组中出现了,将0置为1,count++
&n...
登录后发布评论
暂无评论,来抢沙发