信奥一本通1187:统计字符数

1187:统计字符数

时间限制: 1000 ms 内存限制: 65536 KB

提交数:31962 通过数: 18310

【题目描述】

给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。

【输入】

输入包含一行,一个字符串,长度不超过1000。

【输出】

输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。

【输入样例】

abbccc

【输出样例】

c 3

可以先从小到大进行排序,然后用最长平台的方法解决
点击查看代码

#include<bits/stdc++.h>
using namespace std;

int main()
{
	string s;
	int maxn=0,cnt=1;
	char maxc;
	cin >>s;
	sort(s.begin(),s.end());
	for (int i=1;i<=s.length();i++)
	{
		if (s[i]==s[i-1]) cnt++;
		else cnt=1;
		if (cnt>maxn)
		{
			maxc=s[i];
			maxn=cnt;
		}
	}
	printf("%c %d",maxc,maxn);
	return 0;
}