题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
import java.util.Scanner; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNextLine()){ String target = in.nextLine(); //todo start for (int i = 0; i < Integer.parseInt(target); i++) { String s=in.nextLine(); /** * 统计字符出现次数,最多的分配最大漂亮度*/ Map<Character ,Integer > map = new HashMap(); for (int i1 = 0; i1 < s.length(); i1++) { char c = s.charAt(i1); if (map.containsKey(c)){ map.put(c,map.get(c)+1); }else { map.put(c,1); } } AtomicInteger max= new AtomicInteger(26); AtomicInteger res= new AtomicInteger(); map.values().stream().sorted((u1,u2)->u2-u1).peek(e->{ res.addAndGet(max.get() * e); max.getAndDecrement(); } ).collect(Collectors.toList()); System.out.println(res); } if("".equals(target)){break;} } in.close(); } }