1⃣️一开始最后两个测试点段错误,发现是h数组太小了,10^ 5是1后边好歹有五个零,而输入的数字是10^4,则hashtable只1后四个零即可。
2⃣️数组初始化为0,只要在定义时赋值{0}即可,如果要清零或者全部变成-1又不用循环,可以有memset(a,0,sizeof(a)),头文件是string.h。
#include<iostream>
using namespace std;
int hashtable[10100]={0};
int main()
{
int n;
int h[101000];
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%d",&h[i]);
hashtable[h[i]]++;
}
for(int i=0;i<n;i++)
{
if(hashtable[h[i]]==1)
{
printf("%d\n",h[i]);
return 0;
}
}
printf("None");
return 0;
}