题解 | #字符统计#

字符统计

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        int[] arr = new int[123];
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            arr[c]++;
        }
        Map<Integer, Set<Character>> map = new TreeMap<>();
        for (int i = 0; i < arr.length; i++) {
            int num = arr[i];
            if (num == 0) {
                continue;
            }
            char c = (char) i;
            if (map.containsKey(num)) {
                Set<Character> set = map.get(num);
                set.add(c);
            } else {
                Set<Character> sets = new TreeSet<>();
                sets.add(c);
                map.put(num, sets);
            }
        }
        String res = "";
        Iterator<Set<Character>> iterator = map.values().iterator();
        while (iterator.hasNext()) {
            String tmp = "";
            Set<Character> next = iterator.next();
            for (char c : next) {
                tmp += c;
            }
            res = tmp + res;
        }
        System.out.println(res);
    }
}

全部评论

相关推荐

在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务