东方博宜OJ 1478:出现次数最多的小写字母 ← 字符串

【题目来源】
https://oj.czos.cn/p/1478

【题目描述】
输入一个由小写字母组成的字符串(字符数量≤100),输出出现次数最多的小写字母。
注意:如果有多个小写字母出现的次数一样多,则输出ASCII码值最大的那个字母。

【输入格式】
一个字符串。

【输出格式】
出现次数最多的小写字母。​​​​​​​

【输入样例】
aaabbbbbbbbbcdxs

【输出样例】
b

【数据范围】
字符数量≤100

【算法分析】
● 核心思路
(1)开数组 cnt[26] 统计 26 个小写字母出现次数。
(2)从下标 25(字母 z)反向遍历到 0(字母 a):
   - 如果当前字母计数 > 历史最大值,更新答案;
   - 当多个字母次数相等时,先碰到的(ASCII 更大)不会被后面更小 ASCII 字母覆盖,完美满足题目要求。

【算法代码】

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

int cnt[26];
int mx;

int main() {
    string s;
    cin>>s;
    for(char ch:s) {
        cnt[ch-'a']++;
    }

    char ans='a';
    for(int i=25; i>=0; i--) {
        if(cnt[i]>mx) {
            mx=cnt[i];
            ans='a'+i;
        }
    }
    cout<<ans<<endl;

    return 0;
}

/*
in:
aaabbbbbbbbbcdxs

out:
b
*/



【参考文献】
///

 

posted @ 2026-09-12 21:33  Triwa  阅读(25)  评论(0)    收藏  举报