题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
import java.math.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.stream.*;
import java.util.regex.*;
import java.util.function.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
List<String> list = new ArrayList<>();
Map<String, Integer> map = new HashMap<>();
while (in.hasNextLine()) {
String line = in.nextLine();
// 边界!!
String last = line.substring(line.lastIndexOf("\\")+1);
String name = last.split(" ")[0];
String lineNum = last.split(" ")[1];
if (name.length() > 16) {
name = name.substring(name.length() - 16);
}
String key = String.format("%s %s", name, lineNum);
if (map.containsKey(key)) {
map.put(key, map.getOrDefault(key, 0) + 1);
} else {
list.add(key);
map.put(key, map.getOrDefault(key, 0) + 1);
}
}
if (list.size() > 8) {
// 边界!!
list = list.subList(list.size() - 8, list.size());
}
list.forEach(r -> {
System.out.printf("%s %d\n", r, map.get(r));
});
}
}

