1041 Be Unique

题意:找到一串数字序列中首个出现的不重复的数字。

思路:用哈希,因为数值大小在[1,10^4],所以可以直接开数组。输入数据时记录每个数字出现过的次数。然后遍历原序列,遇到第一个次数为1的数字就是所求。

代码:

#include <cstdio>
int cnt[10005]={0};
int data[100005];

int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&data[i]);
        cnt[data[i]]++;
    }
    for(i=0;i<n;i++)
        if(cnt[data[i]]==1) break;
    if(i==n) printf("None\n");
    else printf("%d\n",data[i]);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/kkmjy/p/9551612.html