星空's Blog
PAT-A1041 Be Unique

原题

Be Unique (20 分)

题解

数据个数 0 ~100000
数值范围 1 ~10000
这个范围可以让我们开辟2个数组,一个用来保存输入序列的顺序,另一个保存数值的计数信息,实际上是一个哈希表,用数值直接对应计数信息数组的下标,通过输入序列依次遍历,找到计数为1的下标时输出,没找到的话输出None

代码

#include <iostream>
using namespace std;

int main(void) {
    int n;
    int inStream[100001] = {0};
    int count[10001] = {0};
    cin >> n;
    for (int i = 0;i < n;i++) {
        cin >> inStream[i];
        count[inStream[i]]++;
    }
    for (int i = 0;i < n;i++) {
        if (count[inStream[i]] == 1) {
            cout << inStream[i] << endl;
            return 0;
        }
    }
    cout << "None" << endl;
    return 0;
}
博客所有文章禁止转载。
算法AC代码仅供参考,请不要未经修改直接套用。
首页      算法学习      PAT-A      PAT-A1041 Be Unique
https://secure.gravatar.com/avatar/271861a23dcdde929d3ee8cb8c04f854?s=256&d=monsterid&r=g

星空

文章作者

发表评论

textsms
account_circle
email

星空's Blog

PAT-A1041 Be Unique
原题 Be Unique (20 分) 题解 数据个数 0 ~100000 数值范围 1 ~10000 这个范围可以让我们开辟2个数组,一个用来保存输入序列的顺序,另一个保存数值的计数信息,实际上是一个哈希表,用数…
扫描二维码继续阅读
2019-08-31
分类
标签云