1 条题解

  • 0
    @ 2026-1-30 15:14:47
    #include<bits/stdc++.h>
    using namespace std;
    // [1] arr数组统计26个小写字母出现次数,索引1-26对应a-z,初始化为0
    int arr[30]={};
    int main() {
        string s;
        cin>>s;
        int n=s.size(); // [2] n记录输入字符串的长度
    
        // [3] 基础循环:遍历字符串,统计每个小写字母的出现次数
        for(int i=0;i<n;i++){
            // 将字符映射为1-26的索引(a→1,z→26),并计数
        	arr[s[i]-'a'+1]++;
    	}
    
        // [4] 初始化最大次数为第一个字母(a)的次数,最大索引为1(对应a)
    	int max_num=arr[1],max_m=1;
    
        // [5] 基础循环:遍历26个小写字母的统计结果,筛选目标字母
    	for(int i=1;i<=26;i++){
            // 若当前字母次数≥已记录的最大次数,更新最大次数和对应索引
            // 用>=保证次数相同时,保留索引更大的字母(即ASCII码更大的字母)
        	if(arr[i]>=max_num){
        		max_num=arr[i];
        		max_m=i;
    		}
    	}
    
        // [6] 将最大索引映射回小写字母并输出(索引1→a,2→b...)
    	cout<<char('a'+max_m-1);
        return 0;
    }
    
    • 1

    信息

    ID
    1208
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    1
    已通过
    1
    上传者