HDU 1029 [Ignatius and the Princess IV]STL map应用

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1029

题目大意:找出一串数字序列(长度为奇数)中出现次数>=(N+1)/2的数字并输出。

关键思想:map统计+遍历

代码如下:

//map统计+遍历 注意迭代器
#include<iostream>
#include <map>
using namespace std;
map<int,int>m;

int main(){
	int N;
	int temp;
	while(cin>>N){
		m.clear();
		for(int i=0;i<N;i++){
			scanf("%d",&temp); 
			m[temp]++;
		}
		for (map<int,int>::iterator ltr = m.begin();ltr != m.end(); ltr++){
        	if (ltr->second >= (N+1)/2){
          	 	cout<<ltr->first<<endl;
          	 	break;
          	}
    	}
	}
	return 0;
}

  

    原文作者:哇咔咔咔
    原文地址: https://www.cnblogs.com/G-M-WuJieMatrix/p/6410567.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞