N<=100000包括这个整数肯定<=100001,边界条件是100001
1⃣️刚开始提交最后一个测试点段错误,考虑数组越界,int可以表示十位数,hash表下标不够,只需要记录1~100000之间的数即可
#include<iostream>
using namespace std;
int hashTable[100002]={false};
int main()
{
long n;
cin>>n;
for(int i=0;i<n;i++)
{
long temp;
cin>>temp;
if(temp>0&&temp<=100000)
hashTable[temp]=true;
}
for(int i=1;i<100002;i++)
{
if(hashTable[i]==false)
{
cout<<i;
break;
}
}
return 0;
}