题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
public class Main { public static void main(String[] args) { java.util.Scanner sc = new java.util.Scanner(System.in); String count = sc.nextLine(); char[] str = null; while(sc.hasNext()){ str = sc.nextLine().toCharArray(); //排序 java.util.Map<Character,Integer> map1 = new java.util.HashMap<>(); for(int i=0;i<str.length;i++){ if(map1.get(str[i])!=null){ map1.put(str[i],map1.get(str[i])+1); }else{ map1.put(str[i],1); } } java.util.List<java.util.Map.Entry<Character,Integer>> list2 = new java.util.ArrayList<java.util.Map.Entry<Character,Integer>>(map1.entrySet()); java.util.Collections.sort(list2, new java.util.Comparator<java.util.Map.Entry<Character,Integer>>() { @Override public int compare(java.util.Map.Entry<Character,Integer> o1, java.util.Map.Entry<Character,Integer> o2) { return o2.getValue() -o1.getValue(); } }); int result = 0; int ssss=26; for(int i=0;i<list2.size();i++){ result += list2.get(i).getValue()*ssss; ssss--; } System.out.println(result); } } }