[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



全部评论

相关推荐

深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务