1. 程式人生 > >n個數裡出現次數大於等於n/2的數

n個數裡出現次數大於等於n/2的數

輸入n個整數,輸出出現次數大於等於陣列長度一半的數。 

輸入描述:

每個測試輸入包含 n個空格分割的n個整數,n不超過100,其中有一個整數出現次數大於等於n/2。

輸出描述:

輸出出現次數大於等於n/2的數。

輸入例子1:

3 9 3 2 5 6 7 3 2 3 3 3

輸出例子1:

3
#include <iostream>
#include <map>
#include <vector>
using namespace std;
//輸入n個整數,輸出出現次數大於等於陣列長度一半的數。
int main()
{
    vector<int> v;
    map<int,int> m;
    int n;
    while(cin>>n)
    {
        v.push_back(n);
        m[n]++;
    }
    int si=v.size();
    map<int,int>::iterator it=m.begin();
    for(;it!=m.end();++it)
    {
        if(it->second>=(si/2))
        {
            cout<<it->first;
            break;
        }

    }
    return 0;
}