题解 | #名字的漂亮度#
名字的漂亮度
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); } } } }