题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1041
必须hash,如果二层遍历,时间复杂度O(n^2)。效率太低,这题也就没水平了。
输入时,保存输入序列,并且hash记录该数出现次数。
再次遍历输入序列,第一个hash值为1的及为Unique。
#include <stdio.h>
#include <string.h>
#define SIZE 100000+5
int hash[SIZE];
int a[SIZE];
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("E:\\in.txt", "r", stdin);
// freopen("E:\\out.txt", "w", stdout);
#endif
int n;
while(scanf("%d", &n) != EOF)
{
memset(hash, 0, sizeof(hash));
int i, t;
for(i=0; i<n; i++)
{
scanf("%d", &t);
hash[t]++;
a[i] = t;
}
for(i=0; i<n; i++)
{
if(hash[a[i]] == 1)
{
printf("%d\n", a[i]);
break;
}
}
if(i == n)
{
printf("None\n");
}
} //while
return 0;
}