PAT A1041 Be Unique

PAT A1041 Be Unique

题目描述:

  Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1,10​4​​]. The first one who bets on a unique number wins. For example, if there are 7 people betting on { 5 31 5 88 67 88 17 }, then the second one who bets on 31 wins.

  Input Specification:
  Each input file contains one test case. Each case contains a line which begins with a positive integer N (≤10​5​​) and then followed by N bets. The numbers are separated by a space.

  Output Specification:
  For each test case, print the winning number in a line. If there is no winner, print None instead.

  Sample Input 1:
  7 5 31 5 88 67 88 17

  Sample Output 1:
  31

  Sample Input 2:
  5 888 666 666 888 888

  Sample Output 2:
  None

参考代码:

 1 /****************************************************
 2 PAT A1041 Be Unique
 3 ****************************************************/
 4 #include <iostream>
 5 #include <vector>
 6 
 7 using namespace std;
 8 
 9 int main() {
10     int numCnt = 0;
11 
12     cin >> numCnt;
13 
14     vector<int> Hash(10010, 0);
15     vector<int> NumList(numCnt, 0);
16 
17     for (int i = 0; i < numCnt; ++i) {
18         cin >> NumList[i];
19         Hash[NumList[i]]++;
20     }
21     
22     for (int i = 0; i < numCnt; ++i) {
23         if (Hash[NumList[i]] == 1) {
24             cout << NumList[i];
25             return 0;
26         }
27     }
28 
29     cout << "None";
30 
31     return 0;
32 }

注意事项:

  1:注意理解题目的要求:寻找第一个仅出现一次的数。

上一篇:大整数排序


下一篇:桶排序(使用Python实现)