题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
String[] strings = new String[n];
for (int i = 0; i < n; i++) {
strings[i] = sc.next();
}
getRes(strings);
}
}
private static void getRes(String[] strings) {
for (String string : strings) {
String s = string;
Map<Character, Integer> map = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if(map.containsKey(ch)){
map.put(ch,map.get(ch)+1);
}else{
map.put(ch, 1);
}
}
List<Integer> list = new ArrayList<>();
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
list.add(entry.getValue());
}
list.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
int sum = 0;
for (int i = 0; i < list.size(); i++) {
sum += list.get(i) * (26 - i);
}
System.out.println(sum);
}
}
}