题解 | #简单错误记录#

题目感觉是这个比较好:记录日志最新的8条,如果重复出现记录出现次数加一,取所有日志中最新的8条差不多

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        LinkedHashMap<String, Integer> map = new LinkedHashMap();
        List<String> rem = new ArrayList();
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String line = in.nextLine();
            if (line.contains(" ")) {
                // 处理数据
                String[] data = line.split(" ");
                String value = data[0];
                if (value.length() > 0) {
                    int index = value.lastIndexOf("\\");
                    String result = value.substring(index + 1);
                    if (result.length() >= 16) {
                        result = result.substring(result.length() - 16);
                    }
                    result = result + "/" + data[1];
                    Integer s = map.get(result);
                    if (!rem.contains(result)) {
                        if (null != s && s > 0) {
                            map.put(result, map.get(result) + 1);
                        } else {
                            // 移除第八个数据
                            if (map.size() == 8) {
                                String key = map.entrySet().stream().findFirst().get().getKey();
                                rem.add(key);
                                map.remove(key);
                            }
                            map.put(result, 1);
                        }
                    }
                }

            }
        }
        map.forEach((key, value) -> {
            String s = key.replace("/", " ") + " " + value;
            System.out.println(s);
        });
    }
}
全部评论

相关推荐

研一开学九月份速成的Java,项目是苍穹外卖和黑马点评,算法基础不好,八股文较为熟练,想找份小厂日常实习,希望牛友们给点意见,蟹蟹啦
求offer的花生米很聪敏:三个月学了这么多?spring springmvc mybatis springboot jvm juc,还做完了两个项目,还熟悉八股,会点算法。卧槽,我该反思了。我暑假开始的,就做了外卖,spring springmvc boot 那些原理好多都忘了,还在刷 jvm 视频,八股和算法也没开始
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务