第十三届蓝桥杯省赛 Java 大学 B 组 的一道题
【问题描述】
给定一个只包含大写字母的字符串 S,请你输出其中出现次数最多的字母。
如果有多个字母均出现了最多次,按字母表顺序依次输出所有这些字母。
【输入格式】
一个只包含大写字母的字符串 S .
【输出格式】
若干个大写字母,代表答案。
【样例输入】
BABBACAC
【样例输出】
AB
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
sc.close();
int len=s.length();
int f[];
f=new int[26];
char c,d;
for (int i = 0; i < len; i++) {
c=s.charAt(i);
int num=c-65;
f[num]++;
}
int flag=0;
for (int n = 0; n < 26; n++) {
if (f[flag]<f[n]) {
flag=n;
}
}
d=(char) ('A'+flag);
System.out.print(d);
for (int m = flag+1; m < 26; m++) {
if (f[flag]==f[m]) {
flag=m;
d=(char) ('A'+flag);
System.out.print(d);
}
}
}
}
运行结果:
