题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
用List和Map比较容易理解,在读取输入的时候,做截取等操作,。 import java.util.Scanner; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); List<String> list=new ArrayList<>(); Set set=new HashSet(); Map<String,Integer> map=new HashMap<String,Integer>(); while (in.hasNextLine()) { // 注意 while 处理多个 case String o = in.nextLine(); String s1=o.substring(o.lastIndexOf("\\")+1); if(s1.split(" ")[0].length()>16) { s1=s1.split(" ")[0].substring(s1.split(" ")[0].length()-16)+" "+s1.split(" ")[1]; } if(set.add(s1)) { list.add(s1); map.put(s1,1); } else{ map.put(s1,map.get(s1)+1); } } int start=0; if(list.size()>8) { start=list.size()-8; } for(int i=start;i<list.size();i++) { System.out.println(list.get(i)+" "+map.get(list.get(i))); } } }