题解 | #字符统计#

字符统计

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

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        Map<Character,Integer> map = new HashMap<>();
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String str = in.nextLine();
            char[] chrs = str.toCharArray();
            for(int i=0;i<chrs.length;i++){
                if(map.containsKey(chrs[i])){
                    map.computeIfPresent(chrs[i],(key,value)->value+1);
                }else{
                    map.put(chrs[i],1);
                }
                
            }
            map.entrySet().stream().sorted(
                (o1, o2) -> 
                {
                    if(o1.getValue()-o2.getValue()>0){
                        return -1;
                    }else if(o1.getValue()-o2.getValue()<0){
                        return 1;
                    }else{
                        if(o1.getKey()-o2.getKey()>0){
                            return 1;
                        }else if(o1.getKey()-o2.getKey()<0){
                            return -1;
                        }else{
                            return 0;
                        }
                    }
                }
            ).forEachOrdered(e->{
                System.out.print(e.getKey());
            });
        }
    }
}

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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