1 条题解

  • 0
    @ 2026-1-28 14:41:05
    #include <bits/stdc++.h>
    using namespace std;
    // [1] crr:存储所有输入的单词(后续会统一转为小写)
    string crr[200];
    
    int main(){
        int n; // [2] n:输入的单词总数量
        cin>>n; // [3] 读取单词数量
        // [4] 读取n个单词,存入数组crr
        for(int i=0;i<n;i++) cin>>crr[i];
    
        // [5] 将所有单词统一转为小写(忽略大小写,统计时视为同一个单词)
        for(int i=0;i<n;i++){
            int m=crr[i].size(); // m:当前单词的长度
            for(int j=0;j<m;j++){
                // 判断当前字符是否为大写字母,若是则转为小写(ASCII码+32)
                if(crr[i][j]>='A' && crr[i][j]<='Z'){
                    crr[i][j]+=32;
                }
            }
        }
    
        int max=0; // [6] max:记录当前出现次数最多的单词的次数
        string max_s=""; // [7] max_s:记录当前出现次数最多的单词(小写形式)
    
        // [8] 双重循环统计每个单词的出现次数,找到出现次数最多的单词
        for(int i=0;i<n;i++){
            int sum=0; // sum:当前单词crr[i]的出现次数(统计后续重复的数量)
            for(int j=i+1;j<n;j++){
                if(crr[i]==crr[j]){
                    sum++;
                }
            }
            // 如果当前单词的出现次数更多,更新最大值和对应单词
            if(max<sum){
                max=sum;
                max_s=crr[i];
            }
        }
    
        cout<<max_s; // [9] 输出出现次数最多的单词(小写形式)
        return 0;
    }
    
    • 1

    信息

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