HDU 1029 某个数出现的次数大于等于(N+1)/2的是哪个 map水题


题意:输入n个数 n为奇数 问某个数出现的次数大于等于(N+1)/2的是 哪个 输出来
Sample Input
5
1 3 2 3 3
11
1 1 1 1 1 5 5 5 5 5 5
7
1 1 1 1 1 1 1

Sample Output
3
5
1

 1 #include <queue>
 2 #include <map>
 3 using namespace std;
 4 
 5 map<int ,int> m ;
 6 
 7 
 8 int main()
 9 {
10     int n ;
11     while(scanf("%d" , &n) !=EOF)
12     {
13         m.clear() ;
14         int i ,x ;
15         for (i = 1 ; i <= n ;i++)
16         {
17             scanf("%d" , &x) ;
18             m[x]++;
19         }
20         map<int ,int>::iterator p ;
21         for (p = m.begin() ; p != m.end() ; p++)
22         {
23             if (p->second >= (n+1)/2)
24             {
25                 printf("%d\n" , p->first) ;
26                 break ;
27             }
28         }
29 
30     }
31 
32     return 0;
33 }
View Code

 

posted @ 2015-05-13 23:00  __Meng  阅读(206)  评论(0编辑  收藏  举报