Single Number
时间限制 1000 ms 内存限制 65536 KB
题目描述
Given an array with N integers where all elements appear three times except for one. Find out the one which appears only once.
输入格式
Several test cases are given, terminated by EOF.
Each test case consists of two lines. The first line gives the length of array N(1≤N≤105), and the other line describes the N elements. All elements are ranged in [0,263−1].
输出格式
Output the answer for each test case, one per line.
输入样例
4
1 1 1 3
10
1 2 3 1 2 3 1 2 3 4
输出样例
3
4
AC代码
#include<stdio.h>
#include<map>
using namespace std;
int main(){
int N;
while(scanf("%d",&N)!=EOF){
map<long long,int> mii;
for(int i=0;i<N;i++){
long long temp;
scanf("%lld",&temp);
mii[temp]++;
}
map<long long,int>::iterator i;
for(i=mii.begin();i!=mii.end();i++){
if(i->second==1){
printf("%lld\n",i->first);
break;
}
}
}
return 0;
}