题解 | #字符统计#
字符统计
https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
import java.util.Collections;
import java.util.HashMap;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
char[] chars = str.toCharArray();
int[] charCount = new int[129];
//将输入字符串作为下标,在charCount里保存每个ASCII码的计数
for(char c: chars){
charCount[(int)c]++;
}
//找到字符数量最多的值
int max = 0;
for(int i = 0; i < charCount.length; i++){
if(charCount[i] > max) max = charCount[i];
}
//按照字符数量由多到少的顺序,将字符加入到StringBuilder
StringBuilder sb = new StringBuilder();
while(max > 0){
for(int i = 0; i < charCount.length; i++){
if(charCount[i] == max) sb.append((char)i);
}
max--;
}
System.out.print(sb.toString());
}
}
}
查看12道真题和解析
联想公司福利 1539人发布