好吧,又成了api调用开发工程师

字符统计

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        /**
         * 输入一个只包含小写英文字母和数字的字符串,按照不同字符统计个数由多到少输出统计结果,
         * 如果统计的个数相同,则按照ASCII码由小到大排序输出
         */
        String string = scanner.next();
        char[] charArray = string.toCharArray();

        HashMap<Character, Integer> hashMap = new HashMap<>();
        for (int i = 0; i < charArray.length; i++) {
            char c = charArray[i];
            if (hashMap.get(c) == null) {
                hashMap.put(c, 1);
            } else {
                hashMap.put(c, hashMap.get(c) + 1);
            }
        }

        // 创建集合帮助排序
        TreeSet<Order> treeSet = new TreeSet<>((o1, o2) -> {
            // 包装类的比较用 equals
            if (Objects.equals(o1.getCount(), o2.getCount())) {
                // 次数相同按照ASCII码进行升序排序
                return o1.getC() - o2.getC();
            }
            // 出现次数倒序排。由大到小
            return o2.getCount() - o1.getCount();
        });
        // 添加到集合中进行排序
        for (Map.Entry<Character, Integer> entry : hashMap.entrySet()) {
            treeSet.add(new Order(entry.getKey(), entry.getValue()));
        }
        // 输出
        StringBuilder builder = new StringBuilder();
        for (Order order : treeSet) {
            builder.append(order.getC());
        }
        System.out.println(builder);
    }
}

class Order {
    private Character c;

    public Integer getCount() {
        return count;
    }

    public Order(Character c, Integer count) {
        this.c = c;
        this.count = count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Character getC() {
        return c;
    }

    public void setC(Character c) {
        this.c = c;
    }

    private Integer count;
}

全部评论

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
04-28 19:31
门头沟学院 Java
真烦好烦真烦:可恶的二手车贩子,居然对我们门头沟学院的人这么没礼貌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务