[PAT解题报告] Be Unique

简单题,找到第一个只出现一次的数,因为数据范围不大[1-10000],所以可以直接放到数组下标里。本质就是用数组代替hash,或者叫做计数排序。
代码:

#include <cstdio>
#include <cstring>
#include <string>
using namespace std;

int have[10004];

int a[100005];

int main() {    
int n;
    scanf("%d",&n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", a + i);
        ++have[a[i]];
    }
    int j = -1;
    for (int i = 0; i < n; ++i) {
        if (have[a[i]] == 1) {
            j = a[i];
            break;
        }
    }
    if (j >= 0) {
        printf("%d\n",j);
    }
    else {
        puts("None");
    }
    return 0;
}


原题链接: http://www.patest.cn/contests/pat-a-practise/1041



全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务