計蒜客第15題---單獨的數字

給定一個數組,除了一個數出現1次之外,其餘數都出現3次。找出出現一次的數。

如:{1, 2, 1, 2, 1, 2, 7}, 找出7.

格式:

   第一行輸入一個數n,代表數組的長度,接下來一行輸入數組A[n],(輸入的數組必須滿足問題描述的要求),最後輸出只出現一次的數。

要求:

   你的算法只能是線性時間的複雜度,並且不能使用額外的空間哦~

樣例1

輸入:

4
0 0 0 5

輸出:

5
# include <iostream>
# include <vector>
using namespace std;

int searchOne(vector<int> ivec,int n)
{
    
    for(vector<int>::size_type i=0;i<n;i++)
    {
        int count=0;
        for(vector<int>::size_type j=0;j<n;j++)
            if(ivec[i] == ivec[j])
                count++;
        if(count==1)
        {
            return ivec[i];
            break;
        }
    }
}

int main()
{
    int n,n2,m,num;
    vector<int> ivec;
    cin >>n;
    n2=n;
    while(n>0)
    {
        cin >>m;
        ivec.push_back(m);
        n--;
    }
    num = searchOne(ivec,n2);
    cout << num <<endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章