题解 | #名字的漂亮度#

名字的漂亮度

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

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
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 的区别
        while (in.hasNext()) {
            int n = in.nextInt();
            List<String> list = new ArrayList<>();
            for (int i = 0 ; i < n ; ++i) {
                list.add(in.next());
            }
            //System.out.println(list);

            for (int i = 0 ; i < n ; ++i) {
                String s = list.get(i);
                Map<Character, Integer> hashmap = new HashMap<>();
                for (int j = 0 ; j < s.length() ; ++j) {
                    char[] cs = s.toCharArray();
                    hashmap.put(cs[j], hashmap.getOrDefault(cs[j], 0) + 1);
                }
                List<Integer> temp = new ArrayList<>();
                for (Character c : hashmap.keySet()) {
                    temp.add(hashmap.get(c));
                }
                Collections.sort(temp);
                int ans=0, prefer=26;
                for(int k=temp.size()-1 ; k>=0 ; --k){
                    ans+=(prefer--*temp.get(k));
                }
                System.out.println(ans);

            }
        }
    }
}

全部评论

相关推荐

DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
投递OPPO等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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