题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
import java.util.HashMap; import java.util.LinkedList; 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); String fName,num; // LinkedList<String> exist = new LinkedList<>(); LinkedList<String> list = new LinkedList<>(); HashMap<String,Integer> map = new HashMap<>(); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String a = in.nextLine(); // System.out.println(a.substring(a.lastIndexOf("\\")+1,a.indexOf(' '))); if(a.substring(a.lastIndexOf("\\")+1,a.indexOf(' ')).length()<=16){ fName = a.substring(a.lastIndexOf("\\")+1); // num = a.substring(a.indexOf(' ')+1); }else{ fName = a.substring(a.indexOf(' ')-16); // num = a.substring(a.indexOf(' ')+1); } // System.out.println(fName); if(!list.contains(fName)){ if(!map.containsKey(fName)){ //有新的错误 map.put(fName,1); list.add(fName); if(list.size()>8){ //检查是否超过8 list.removeFirst(); } }else{ continue; } }else{ if(map.containsKey(fName)){ map.put(fName,map.get(fName)+1); } } } // System.out.println(list.toString()); for(String i : list){ System.out.println(i+" "+map.get(i)); } } }