题解 | 简单错误记录
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Program {
const int maxRow = 8;
const int maxFileNameLen = 16;
public static void Main() {
string line;
List<string> myList = new List<string>();
Dictionary<string, int> myDic = new Dictionary<string,int>();
List<string> output = new List<string>();
while ((line = System.Console.ReadLine ()) != null) { // 注意 while 处理多个 case
myList.Add(line);
}
for(var i =0; i< myList.Count;i++){
string[] array = myList[i].Split(' ');
string lineNumber = array[1];
string[] fileArray = array[0].Split("\\");
string fileName = fileArray[fileArray.Length -1];
if(fileName.Length > maxFileNameLen){
fileName = fileName.Substring(fileName.Length - maxFileNameLen, maxFileNameLen);
}
string dicKey = fileName + " " + lineNumber;
if(!myDic.Keys.Contains(dicKey)){
myDic.Add(dicKey, 1);
//Console.WriteLine($@"This is my Dic:{dicKey} {myDic[dicKey]}");
}else{
myDic[dicKey] += 1;
//Console.WriteLine($@"This is my Dic:{dicKey} {myDic[dicKey]}");
}
}
foreach(var dicLine in myDic){
output.Add(dicLine.Key + " " + dicLine.Value);
//Console.WriteLine($@"This is my Dic:{dicLine.Key} {dicLine.Value}");
}
if(output.Count > 8){
int dif = output.Count - maxRow;
for(int j = dif;j <= output.Count -1;j++){
Console.WriteLine(output[j]);
}
}
else{
foreach(var item in output){
Console.WriteLine(item);
}
}
}
}
