题目:
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,104]. 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 (≤105) 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
解题思路:
开辟一个数组,输入的数字对应数组下标,同样的数字则对应下标的内容加一,用另外一个数组保存输入的数字,依次遍历该数组,若该数只有一个,则输出。
代码如下:
#include<stdio.h>
#include<iostream>
using namespace std;
int a[10001] = { 0 };
int b[100001];
int main() {
int N, x, flag = 0;
cin >> N;
for (int i = 0; i < N; i++) {
cin >> x;
b[i] = x;
a[x]++;
}
for (int i = 0; i < N; i++) {
if (a[b[i]] == 1) {
cout << b[i];
flag = 1;
break;
}
}
if (!flag)
cout << "None";
}