简单题,我也不知道怎么就错了,可能是上午写太多了有点上头 TAT
题目大意:
- 给出一组数字,让你找出 最先出现的、在整个数组里是唯一的那个数字。
思路:
- 用到 hashTable,先统计每个数字出现的次数。
- 再遍历初始输入数组,如果hashTable[num[i]]==1,则输出。
以下是我的代码:
#include<cstdio>
#include<cstring>
const int MAXN = 100010,NUM=10010;
int num[MAXN]={0};//记录输入的数字
int hashTable[NUM]={0};//记录该数字重复的次数
int main()
{
int n;
scanf("%d",&n);
//输入数字并统计次数
for(int i=0;i<n;i++)
{
int tnum;
scanf("%d",&tnum);
num[i]=tnum;
hashTable[tnum]++;
}
int ans=-1;
for(int i=0;i<n;i++)
{
if(hashTable[num[i]]==1)
{
ans = num[i];
printf("%d",ans);
break;
}
}
if(ans==-1)
printf("None");
return 0;
}