题解 | #字符统计#
字符统计
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()); } } }