题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNextLine()){
            String target = in.nextLine();
            //todo start
            for (int i = 0; i < Integer.parseInt(target); i++) {
                String s=in.nextLine();
                /**
                 * 统计字符出现次数,最多的分配最大漂亮度*/
                Map<Character ,Integer > map = new HashMap();
                for (int i1 = 0; i1 < s.length(); i1++) {
                    char c = s.charAt(i1);
                    if (map.containsKey(c)){
                        map.put(c,map.get(c)+1);
                    }else {
                        map.put(c,1);
                    }
                }
                AtomicInteger max= new AtomicInteger(26);
                AtomicInteger res= new AtomicInteger();
                map.values().stream().sorted((u1,u2)->u2-u1).peek(e->{
                    res.addAndGet(max.get() * e);
                    max.getAndDecrement();
                        }
                ).collect(Collectors.toList());
                System.out.println(res);
            }
            if("".equals(target)){break;}
        }
        in.close();
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务