题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
        while (sc.hasNext()) {
            String next = sc.next();
            String number = sc.next();
            String[] split = next.split("\\\\");
            int begin = split[split.length - 1].length() > 16 ? split[split.length - 1].length() - 16 : 0;
            String substring = split[split.length - 1].substring(begin);
            StringBuilder sb = new StringBuilder();
		    //把文件名和编号合在一起,方便直接判断是否为同一个记录
            sb.append(substring).append(number);
            if (linkedHashMap.containsKey(sb.toString())) {
                linkedHashMap.put(sb.toString(), linkedHashMap.get(sb.toString()) + 1);
            } else {
                linkedHashMap.put(sb.toString(), 1);
            }
        }
	  	//begin为最后8个记录的起始位置
        int begin = linkedHashMap.size() > 8 ? linkedHashMap.size() - 8 :0;
        Set<Map.Entry<String, Integer>> entrySet = linkedHashMap.entrySet();
        for (Map.Entry<String, Integer> entry : entrySet) {
            if (begin > 0){
                begin--;
                continue;
            }
            String fileName = entry.getKey().replaceAll("[0-9]", "");
            String number = entry.getKey().replaceAll("[a-z]", "");
            System.out.println(fileName + " " + number + " " + entry.getValue());
        }
    }
}

全部评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
2024-12-27 10:21
已编辑
海南师范大学 媒介策划
到我怀里来:身高体重住址这些就别写了,留几个关键的就行,工作经历突出重点写详细点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务