蓝桥杯学习笔记 单词分析

试题 G: 单词分析
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分
[问题描述]
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
[输入格式]
输入一行包含一个单词,单词只由小写英文字母组成。
[输出格式]
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数,

//给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
        //思路 转成数组 
        Scanner sc = new Scanner(System.in);
        char[] arr = sc.next().toCharArray();
        Arrays.sort(arr);//排序 这样出来的数组就是aaaabbbbddddddddd这样的
        int maxLen = 1;//动态记录最大长度 
        String res = "";//出现最多的字母
        int beg = 0;//记录开始索引
        for (int i = 1; i < arr.length; i++) {

            if (arr[beg] != arr[i] || i == arr.length - 1) {
                int len = i - beg;
                beg = i;
                if (maxLen < len) {
                    maxLen = len;
                    res = arr[beg - 1] + "";
                }
            }
        }
        System.out.println(res);
        System.out.println(maxLen);

但是有个没通过不知道那个的问题

上一篇:【Greenhills】MULTI IDE-GHS最新版本Compiler 23.5.4的兼容性问题


下一篇:C++ Primer (第五版)第六章习题部分答案