天天看點

北郵機試 | bupt oj | Single NumberSingle 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;
}
           

繼續閱讀