【map热手题】HDU 1004—Let the Balloon Rise

本文介绍了一种利用C++ STL中的Map容器解决气球计数问题的方法。通过迭代输入的字符串并使用Map记录每个字符串出现的次数,找出出现次数最多的字符串。此方法简单高效,易于理解和实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:点击打开链接

建议初学STL的人用MAP来切这道水题,可以对MAP的方便之处有更加深刻的理解。

因为调用和查找的确挺简单的。效率据查阅资料,是lgN.

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
	int ballnum;
	while(cin>>ballnum && ballnum!=0)
	{
		string temp;
		int bigger=0;
		map<string,int> balloon;
		
		for(int i=0;i<ballnum;i++)
		{
			cin>>temp;
			balloon[temp]++;
		}
		
		map<string,int>::iterator it;
		for(it=balloon.begin();it!=balloon.end();it++)
		{
			if((*it).second>bigger)
			{
				bigger=(*it).second;
			}
		}
		
		for(it=balloon.begin();it!=balloon.end();it++)
		{
			if((*it).second==bigger)
			{
				cout<<(*it).first<<endl;
			}
		}
	
		
		
		
		
		
	}
	
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值