题解 | #字符统计#

字符统计

https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

import java.util.HashMap;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String source = sc.nextLine();
        HashMap<Character, Integer> charNum = new HashMap<>();
        for (char c : source.toCharArray()) {
            if (charNum.containsKey(c)) {
                charNum.put(c, charNum.get(c) + 1);
            } else {
                charNum.put(c, 1);
            }
        }
        TreeMap<Integer, TreeSet<Character>> statisticChars = new TreeMap<>((o1, o2) -> o2-o1);
        charNum.forEach((character, num) -> {
            if (statisticChars.containsKey(num)) {
                statisticChars.get(num).add(character);
            } else {
                TreeSet<Character> value = new TreeSet<>();
                value.add(character);
                statisticChars.put(num, value);
            }
        });

        for (TreeSet<Character> value : statisticChars.values()) {
            for (Character character : value) {
                System.out.print(character);
            }
        }
    }
}

全部评论

相关推荐

西松屋:说明原部门有机会把
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务