解题思路:
注意事项:
参考代码:import java.util.*;
public class qqqq {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String nums=sc.nextLine();
String [] num=nums.split("");
//Map对象用于统计字母出现的次数
Map<String ,Integer> wordcount=new HashMap<>();//HashMap具有快速的插入和查找性能
for(String word: num){
//获取当前wordcount包含指定的键
if(wordcount.containsKey(word)){
//// 如果字母已经在 Map 中存在,则将其出现次数加1
wordcount.put(word,wordcount.get(word)+1);
}else{//// 否则,将字母添加到 Map 中,并将其出现次数设置为1
wordcount.put(word,1);
}
}
//List对向用于储存出现次数最多的字母
List<String> maxwordcount=new ArrayList<>();
int maxcount=0;//储存出现次数的最大值
for(String word: wordcount.keySet()){//wordcount.keySet()用于获取一个包含 wordcount Map 中所有键的集合。
//将指定字母 word 的出现次数赋值给变量 count
int count =wordcount.get(word);
// 如果当前字母的出现次数大于最大次数,更新最大次数并清空 maxwordcount
if(count>maxcount){
maxcount=count;
//清空列表maxwordcount列表,可以在后续的查找出现次数最多的字母的过程中重新将新的结果添加到 maxwordcount 列表中。
maxwordcount.clear();
//指定的字母 word 添加到 maxwordcount 列表中
maxwordcount.add(word);
}else if(count==maxcount){
// 如果当前字母的出现次数与最大次数相等,则将其加入到 maxwordcount 中
maxwordcount.add(word);
}
}
//Collections.sort()方法是对指定集合进行升序排序
Collections.sort(maxwordcount);
for (String word:maxwordcount) {
System.out.print(word);
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复