LQ0121 次数差文本处理+最值

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0121 次数差文本处理+最值相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2018初赛 C++ C组E题

题目描述
x星球有26只球队,分别用a~z的26个字母代表。他们总是不停地比赛。
在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。
国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?

输入格式
输入存在多组数据,对于每组数据:
输入一行包含一个串,表示球队获胜情况(保证串的长度<1000)

输出格式
对于每组数据:输出一个数字,表示出现次数最多的字母比出现次数最少的字母多了多少次。

输入样例
abaabcaa
bbccccddaaaacccc

输出样例
4
6

问题分析
先对出现的字母做个统计,再算一下最值即可。

AC的C语言程序如下:

/* LQ0121 次数差 */

#include <iostream>
#include <cstring>

using namespace std;

#define N 26
int a[N];

int main()

    string s;
    while (cin >> s) 
        memset(a, 0, sizeof a);

        for (int i = 0; s[i]; i++)
            a[s[i] - 'a']++;

        int mina = 1000, maxa = 0;
        for (int i = 0; i < N; i++) 
            maxa = max(maxa, a[i]);
            if (a[i] != 0)
                mina = min(mina, a[i]);
        

        printf("%d\\n", maxa - mina);
    

    return 0;

以上是关于LQ0121 次数差文本处理+最值的主要内容,如果未能解决你的问题,请参考以下文章

LQ0218 错误票据计数排序+最值

LQ0091 完全二叉树的权值最值

LQ0089 组队矩阵计算

LQ0261 画表格文本处理

LQ0261 画表格文本处理

[LuoguP1264]K-联赛_网络流