栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【蓝桥杯】 次数差:x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。 在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。 国王...

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【蓝桥杯】 次数差:x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。 在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。 国王...

【蓝桥杯】 次数差
  • 题目描述
  • 解题代码
    • C语言
      • 法一
      • 法二
  • 测试用例

题目描述

题目传送门 >> 次数差

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

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

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

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

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

【输入输出样例】
示例1
输入:

 abaabcaa

输出:

 4

【运行限制】
• 最大运行时间:1s
• 最大运行内存: 256M


解题代码 C语言 法一

【解题思路】:用数组count记录a~z出现的次数(eg.count[0]为字母a出现的次数)。

#include 
#include 
int main()
{
  int len,i,j,max=1,min=1000;
  int count[26]={0};
  char str[1000];
  gets(str);
  // 获取输入的字符串str的长度
  len=strlen(str);
  // 用count记录a~z出现的次数
  for(i=0; imax){
		  max = count[j];
	  }
	  if(count[j]!=0 && count[j] 
法二 

【解题思路】逐个判断输入的字符串中,每一个字符在字符串中的出现个数,记录最大值与最小值

#include 
#include 
int main()
{
  int len,i,j,k,max=1,min=1000;
  char a[1000];
  gets(a);
  len=strlen(a);
  for(i=0; imax)
    {
      max=k;
    }
    if(k 

测试用例

测试1
输入:

 abcbbcas

输出:

 2

测试2
输入:

 abbccbcacd

输出:

 3
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528920.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号