问题描述
给定一个只包含大写字母的字符串 S, 请你输出其中出现次数最多的字符。
如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。
输入格式
一个只包含大写字母的字符串 S.
输出格式
若干个大写字母,代表答案。
样例输入
BABBACAC
样例输出
AB
评测用例规模与约定
对于 100%100% 的评测用例, 1≤∣S∣≤10的6次方.
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String str = scan.nextLine();
int[] a = new int[26];
for (int i = 0; i < str.length(); i++) {
a[str.charAt(i)-'A']++;
}
int max = Integer.MIN_VALUE;
for (int i = 0; i < a.length; i++) {
if (a[i] > max) {
max = a[i];
}
}
for (int i = 0; i < a.length; i++) {
if (a[i] == max) {
System.out.print((char) (i + 'A'));
}
}
scan.close();
}
}
该程序接收一个只包含大写字母的字符串,通过遍历并统计每个字符出现的次数,找出出现次数最多的字符。如果存在多个相同最多的次数,按照字母表顺序输出。示例中,输入字符串BABBACAC,输出结果为AB,因为A和B各出现两次,是出现次数最多的,并按字母顺序输出。
1111

被折叠的 条评论
为什么被折叠?



