一、题目描述
问题描述
给定一个只包含大写字母的字符串 S, 请你输出其中出现次数最多的字符。
如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。
输入格式
一个只包含大写字母的字符串 S.
输出格式
若干个大写字母,代表答案。
样例输入
BABBACAC
样例输出
AB
评测用例规模与约定
对于 100% 的评测用例, 1≤∣S∣≤106.
运行限制
- 最大运行时间:1s
- 最大运行内存: 512M
二、解题思路
对输入的字符串进行遍历,对每一个字符出现的次数进行记录,记录到一个大小为
26的int数组中,数组的值为字符出现的次数,循环比较得到出现次数最多的字符的
出现次数,遍历int数组输出出现次数最多的字符
三、解题代码
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
int[] a=new int[26];
int max=0;
for(int i=0;i<s.length();++i){
a[s.charAt(i)-'A']++;
if(a[s.charAt(i)-'A']>max){
max=a[s.charAt(i)-'A'];
}
}
for(int i=0;i<26;++i){
if(a[i]==max){
System.out.print((char)(i+'A'));
}
}
}
}