题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
暴力模拟,欢迎指出问题
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Node> list = new ArrayList<>();
int cnt = 0;
while (sc.hasNext()) {
String[] tar = sc.next().split("\\\\");
String filename = tar[tar.length-1];
int line = sc.nextInt();
if(filename.length() > 16){
filename = filename.substring(filename.length()-16);
}
boolean flag = false;
for(int j= 0; j < list.size(); j++){
Node p = list.get(j);
if(p.fileName.equals(filename) && p.line == line){
p.cnt++;
flag = true;
break;
}
}
if(!flag)
list.add(new Node(filename,line,1));
if(list.size() > 8 && !flag){
cnt++;
}
}
for(int j= 0,i = cnt; j < 8; j++,i++){
if(i < list.size()){
Node p = list.get(i);
System.out.printf("%s %d %d\n",p.fileName,p.line,p.cnt);
}
}
}
}
class Node{
public String fileName;
public int line;
public int cnt;
public boolean flag;
public Node(String fileName,int line,int cnt){
this.fileName = fileName;
this.line = line;
this.cnt = cnt;
this.flag = false;
}
}
