次数差
贡献者:programmer_ada
问题描述
x星球有26只球队,分别用 a ~ z 的26个字母代表。他们总是不停地比赛。
在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。
国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?
(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)
输入格式
一个串,表示球队获胜情况(保证串的长度<1000)
输出格式
要求输出一个数字,表示出现次数最多的字母比出现次数最少的字母多了多少次。
样例输入1
abaabcaa
样例输出1
4
提示
a 出现 5 次,最多;c 出现1次,最少。
5 - 1 = 4
样例输入2
bbccccddaaaacccc
样例输出2
6
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
int a[1003]={0};
for(int i=0;i<s.length();i++)
{
a[s[i]-'a']++;
}
sort(a,a+26);
for(int i=0;i<26;i++)
{
if(a[i]!=0)
{
cout<<a[25]-a[i];
break;
}
}
return 0;
}