题解 | 简单错误记录

简单错误记录

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);
            }
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务