题解 | #名字的漂亮度#

名字的漂亮度

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

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.*;

public class Main{
    public static void main(String[] args) throws IOException{
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int i = 0;i < n;i++){
            String s = sc.next();
            System.out.println(cal(s));
        }
    }
    
    public static int cal(String s){
        char[] c = s.toCharArray();
        StringBuilder sb = new StringBuilder();
        int sum = 0;
        //记录所有字母
        for(int i = 0;i < c.length;i++){
            if(!sb.toString().contains(String.valueOf(c[i]))){
                sb.append(c[i]);
            }
        }
        String res = sb.toString();
        int n = 26;
        int[] nums = new int[26];
        //记录每个字母出现的次数
        for(int i = 0;i < res.length();i++){
            int count = s.length() - s.replaceAll(String.valueOf(res.charAt(i)),"").length();
            nums[i] = count;
        }
        Arrays.sort(nums);
        for(int i = 25;i >= 26-res.length();i--){
            sum += nums[i]*n;
            n--;
        }
        return sum;
    }
}
菜鸟第一次自己写出中级题,留个纪念
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
08-07 11:47
门头沟学院 Java
快手你的进度好快啊,可是我感觉我还没做好准备8.4投递8.7hr初筛-用人部门筛选
瞒着老板找实习:2号投敌 4号约面 今天一面已挂 哈哈
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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