北邮bupt oj Single Number

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;
}

猜你喜欢

转载自blog.csdn.net/stone_fall/article/details/88357735