美文网首页
A1041 Be Unique (20分)

A1041 Be Unique (20分)

作者: km15 | 来源:发表于2020-01-30 12:19 被阅读0次

    // A1041 Be Unique (20分).cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
    /*
    考察:嵌套数组+hash

    题意
    1、给N个数字,找出第一个没有重合的数字

    解题:
    1、开个存储元素的数组,输入每个元素都存起来,然后以这个元素做下标,累计次数
    2、遍历n个元素吧,如果遍历hash呢,

    learn && wrong;
    1、找出最小的那个unique可以,如何找第一个呢?统计次数是没错了,但是第一个如何找呢
    2、另外开个数组吗,对,另外一个数组,把元素输入进去,然后遍历这个数组,并且查看hash,看几次

    learn && wrong:
    1、哈希只用10的4次方,而元素可能有10的5次方这么多个
    2、按读入数字的顺序来判断hash这个手法要会!也就是开个新的数组,按这个数组的元素来判断hash
    3、答案是新设了一个ans为-1,通过更新ans的值来判断输出
    */

    #include <iostream>
    #include<cstring>
    using namespace std;
    
    int hash1[10010] = { 0 };
    int yuansu[100010];
    int main()
    {
        int n;
        cin >> n;
        int zhi;
    
        for (int i = 0;i < n;++i) {
            cin >> zhi;
            yuansu[i] = zhi;  //保存输入来的值
            ++hash1[yuansu[i]]; //用hash1统计次数
        }
    
        int i;
        for ( i = 0;i < n;++i) {
            if (hash1[yuansu[i]] == 1) {
                cout << yuansu[i] << endl;
                break;
            }
        }
    
        if (i == n) cout << "None" << endl;
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:A1041 Be Unique (20分)

          本文链接:https://www.haomeiwen.com/subject/zmsithtx.html