先将所有输入的数输入到一个大数组中,再用sort进行排序完后
遍历数组,找到那两个缺少和重复的数log(n)的时间复杂度
#include<iostream>
#include<algorithm>
using namespace std;
const int N=100010;
int s[N];
int main(){
int n,i=0,shao,chong;
cin>>n;
while( cin>>s[i])
{
i++;
}
sort(s,s+i);
// for(int j=0;j<i;j++)cout<<s[j]<<endl;
for(int j=0;j<i;j++)
{
if(s[j]==s[j+1])chong =s[j];//重复的那个数
if(s[j]+2==s[j+1])shao=s[j]+1;//找缺少的那个数
}cout<<shao<<" "<<chong;
return 0;
}