蓝桥杯 次数差 (推荐)

207 阅读1分钟

题目描述

x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。

在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。

国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)

输入描述

输入,一个串,表示球队获胜情况(保证串的长度 < 1000)。

输出描述

要求输出一个数字,表示出现次数最多的字母比出现次数最少的字母多了多少次。

输入输出样例

示例

输入

abaabcaa

输出

4

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 13  |  总提交次数: 14  |  通过率: 92.9%

难度:   标签: 暴力, 2018, 省赛

#include<bits/stdc++.h>
using namespace std;
int b[25],m1=99999,m2=0;
string len;
int main()
{

cin>>len;
int c=len.length(); 

for(int i=0;i<c;i++)
{
b[len[i]-'a']++; 
} 

sort(b,b+24);

for(int i=0;i<24;i++)
{
	if(b[i]==0) continue;
	 
	m1=min(m1,b[i]);
	m2=max(m2,b[i]);

}

cout<<m2-m1<<endl;

return 0;
}