题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<String> list = new ArrayList<>();
int number = sc.nextInt();
for (int i = 0; i < number; i++) {
String s = sc.next();
list.add(s);
}
for (String s : list) {
System.out.println(method(s));
}
}
private static int method(String s) {
int[] a = new int[26];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
int temp = c - 97;
a[temp]++;
}
//选择排序
for (int i = 0; i < a.length; i++) {
int index = i;
for (int j = i + 1; j < a.length; j++) {
if (a[index] < a[j]) index = j;
}
int temp = a[index];
a[index] = a[i];
a[i] = temp;
}
int res = 0;
int value = 26;
for (int i = 0; i < a.length; i++) {
res += a[i] * value;
value--;
}
return res;
}
}
查看30道真题和解析