给定一个只包含大写字母的字符串S,请你输出其中出现次数最多的字母。如果有多个字母均出现了最多次,按字母表顺序依次输出所有这些字母。输入一个只包含大写字母的字符串S。输出若干个大写字母,代表答案,样例输入BABBACAC,样例输出AB,用代码编写
时间: 2023-03-08 10:15:11 浏览: 96
js将字符串中的每一个单词的首字母变为大写其余均为小写
答案:将字符串S拆分为字符数组,然后用一个哈希表统计每个字母出现的次数,最后得出出现次数最多的字母。代码如下:```
char[] chars = S.toCharArray();
Map<Character, Integer> countMap = new HashMap<>();
for (char c : chars) {
if (countMap.containsKey(c)) {
countMap.put(c, countMap.get(c) + 1);
} else {
countMap.put(c, 1);
}
}
List<Character> result = new ArrayList<>();
int maxCount = 0;
for (Map.Entry<Character, Integer> entry : countMap.entrySet()) {
if (entry.getValue() > maxCount) {
result.clear();
result.add(entry.getKey());
maxCount = entry.getValue();
} else if (entry.getValue() == maxCount) {
result.add(entry.getKey());
}
}
// 输出
StringBuilder sb = new StringBuilder();
for (char c : result) {
sb.append(c);
}
System.out.println(sb.toString());
```答案:AB
阅读全文