import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
*
* @Author: MR
* @Date: 2024/3/2 15:16
* @Description :
* 题目: 给一个字符串 找到这个字符串中出现次数最多的字母
* 并且输出它 和 它的次数
*/
public class 单词分析 {
static int[] cnt = new int[26];
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
// 统计当前字符串中字符的出现次数
for (int i = 0; i < s.length(); i++) {
cnt[s.charAt(i) - 'a']++;
}
/* // 方法一:用hash表
// 统计出现次数最多的字符
List<Integer> list = new ArrayList<>();
int max = -1;
for (int i = 0; i < 26; i++) {
if (cnt[i] > max) {
list.clear();
list.add(i);
max = cnt[i];
}
}
for (Integer i : list) {
System.out.println((char)+(i+97));
System.out.println(max);
}*/
// 方法二:直接用下标来记录出现次数最多的元素
int index = 0;//记录出现次数最多的元素下标
int max = 0;
for (int i = 0; i < 26; i++) {
// 说明当前元素出现的次数最多
if(cnt[i] >max){
max =cnt[i];
index = i;
}
}
System.out.println((char)(index +97));
System.out.println(max);
}
}
蓝桥杯 java 单词分析
最新推荐文章于 2024-07-22 22:58:19 发布