MC0228 军团大战(统计字母出现最多次那个)

2023-12-16 16:13:03

在字母世界中,每个大写的字母都是一个军团,不同字母军团集合:AAAABBCCCCCDDDDDDDDDDDDDDDD

表示A军团有4个单位,B军团有2个单位,C有5个单位,D军团有16个单位,D军团人数最多。小码哥是一个新人军师,他想成为字母军团的军师,但是他想成为数量最多的军团的军师(若军团数量最多的军团有多个时,选择字母表顺序靠前的字母军团),你能建议他去哪个军团吗?

输入格式:
一行一个长度 为:
n(1≤n≤100000) 字符串,表示不同军团的集合,不一定有全部A-Z字母。

输出格式:
一行一个字符,表示最多单位的军团。

样例

输入:
AAAABBCCCCCDDDDDDDDDDDDDDDD

输出:
D

#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

string x;
int num[27],maxt=0;
char cnt;

int main()
{
	getline(cin,x);
	
	for(int i=0;i<x.size();++i)
		num[x[i]-'A']++;  //统计每个大写字母的出现次数(通过字符与'A'的ASCII码差值作为数组下标)
	
	for(int i=0;i<27;++i)
	{
		if(num[i]>maxt) // 查找多出现字母
			maxt = num[i],cnt = i+'A'; // 更新maxt和cnt为当前字母的出现次数和字母本身
	}
	
	cout<<cnt<<endl;
	
	return 0;
}

文章来源:https://blog.csdn.net/weixin_47830774/article/details/135032487
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。