题解 | #名字的漂亮度#

名字的漂亮度

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int i1 = scanner.nextInt();
            ArrayList<String> strings = new ArrayList<>();
            for (int i = 0; i <i1; i++) {
                String s = scanner.next();
                strings.add(s);
            }
            for (int i = 0; i <i1; i++) {
                System.out.println(reback(strings.get(i)));
            }
        }
    }
    public static Integer reback(String s){
        String[] split = s.split("");
        HashMap<String, Integer> hs = new HashMap<>();
        for (int i = 0; i < split.length; i++) {
            if (hs.get(split[i])!=null){
                hs.put(split[i],hs.get(split[i])+1);
            }else {
                hs.put(split[i],1);
            }
        }
        ArrayList<Integer> it = new ArrayList<>();
        Iterator<Map.Entry<String, Integer>> ith = hs.entrySet().iterator();
        while (ith.hasNext()){
            Map.Entry<String, Integer> next = ith.next();
            Integer value = next.getValue();
            it.add(value);
        }
        Collections.sort(it);
        int count=26;
        int sum=0;
        for (int i = it.size()-1; i >=0; i--) {
            sum=sum+count*it.get(i);
            count--;
        }
        return sum;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:00
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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