文章

8

粉丝

53

获赞

0

访问

3.6k

头像
集合中的相同元素 题解:
P5105
发布于2024年3月23日 16:29
阅读数 321

使用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...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发