时间限制: 1.0s 内存限制: 512.0MB 本题总分:10 分
【问题描述】
给定一个只包含大写字母的字符串 S ,请你输出其中出现次数最多的字母。如果有多个字 母均出现了最多次,按字母表顺序依次输出所有这些字母。
【输入格式】
一个只包含大写字母的字符串 S .
【输出格式】
若干个大写字母,代表答案。
【样例输入】
BABBACAC
【样例输出】
AB
【评测用例规模与约定】
对于 100% 的评测用例,1 ≤ |S | ≤ .
//string 是要统计的大写字母 //arr 长度固定为26,表示26的大写字母 public static void f1(String S,int[] arr){ //i表示每个大写字母 //arr[i] 表示每个大写字母出现的次数 for (int i = 0; i < S.length(); i++) { char c = S.charAt(i); arr[c-'A']++; } //获取数组中的最大值,就是大写字母出现次数最多的 int max =0; for(int i=0; i<arr.length;i++){ if (max < arr[i]){ max = arr[i]; } } for (int i = 0; i < arr.length; i++) { //用 每一个大写字母的次数(arr[i]) 和 max比较, //相等 则输出该大写字母和max对应的大写字母 //没有则输出max 对应的那个大写字母(为什么只有max时也能输出?) //因为数组元素中,一定有一个元素是和max 相同 if( max == arr[i] ){ System.out.print((char)(i +'A')); } } }