n個數裡出現次數大於等於n/2的數
阿新 • • 發佈:2018-12-25
輸入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; }