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
题目大意:给出一串数字,找出第一个不重复的数字;
思路:用一个数组记录每个数出现的次数, arr[i] = c 表示i出现c次;
用一个数组记录出现的数字,按顺序查找t,当t[i]=1出现当时候,第一个只出现一次的数
1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int n, temp; 5 cin>>n; 6 int arr[10010], *t = new int[n]; 7 for(int i=0; i<n; i++){ 8 cin>>temp; 9 arr[temp]++; 10 t[i] = temp; 11 } 12 bool flag = true; 13 for(int i=0; i<n; i++) 14 if(arr[t[i]]==1){ 15 cout<<t[i]<<endl; 16 flag = false; 17 break; 18 } 19 if(flag) cout<<"None"<<endl; 20 return 0; 21 }