传送门
输入样例1:
1 2 5 -1
2 4 5 8 10 -1
输出样例1:
2 5
输入样例2:
1 2 2 3 3 4 -1
0 2 2 3 5 6 -1
输出样例2:
2 2 3
注意
①数据范围,1e7级别,数据范围小了最后一个节点wa
②判断交集是否为空,为空输出NULL;
③会出现一个数字重复输出的情况
——————————————
桶排思想
#include<iostream>
using namespace std;
const int N=1e7+10;
int seq1[N],seq2[N];
int main()
{
int t,cnt=0,sum=0;
while(cin>>t&&t!=-1)
seq1[t]++;
while(cin>>t&&t!=-1)
seq2[t]++;
for(int i=0;i<N;i++)
if(seq1[i]&&seq2[i])sum++;
if(!sum)
printf("NULL");
else for(int i=0;i<N;i++)
while(seq1[i]&&seq2[i])
seq1[i]--,seq2[i]--,printf(!cnt++?"%d":" %d",i);
}