84. 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
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<map>
using namespace std;
map<long long , int> M; //定义键值对
int main(){
int n;
while(scanf("%d",&n)!=EOF){
M.clear();
for(int i=0;i<n;i++){
long long temp;
scanf("%lld",&temp);
M[temp]++;
}
map<long long,int>::iterator it;
for(it=M.begin();it!=M.end();it++){
if(it->second==1){
printf("%lld\n",it->first);
//break;
}
}
}
return 0;
}
pay attention: 使用io输出输出流会超时,所以要用stdio, 数据类型要使用 long long