名字的漂亮度.其实就是 按字母出现的次数依次用 26 25 24等从大到小相加;
需要考虑有重复字母的情况,则重复最多的字母次数26 + 第2多25等从大到小
所以,定义一个数组,下标值用字母的ASCII码值表示, 默认值都是0, 出现了这个字母,那根据ASCII去放到对应的位置,此时值+1; 若出现重复的,值++;
最后对数组排序,从最高次数依次与26 25 等相乘再相加为最终值

import java.util.*;
public class Main {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                int n = sc.nextInt();
                for(int i=0;i<n;i++){
                    String str = sc.next();
                    int[] s = new int[128];
                    for(int j=0;j<str.length();j++){
                        s[str.charAt(j)]++;//将所有字母的ascii码作为下标
                        //数组值存的是字母出现的次数
                    }
                    Arrays.sort(s);//升序排列
                    int mul=26,sum=0;
                    //只处理大于0的值
                    for(int j=s.length-1;j>0&&s[j]>0;j--){
                        sum+=s[j]*mul;
                        mul--;
                    }
                    System.out.println(sum);
                }
            }
        }
}