题解 | #简单错误记录#

简单错误记录

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

import java.math.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.stream.*;
import java.util.regex.*;
import java.util.function.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        List<String> list = new ArrayList<>();
        Map<String, Integer> map = new HashMap<>();
        while (in.hasNextLine()) {
            String line = in.nextLine();
            // 边界!!
            String last = line.substring(line.lastIndexOf("\\")+1);
            String name = last.split(" ")[0];
            String lineNum = last.split(" ")[1];

            if (name.length() > 16) {
                name = name.substring(name.length() - 16);
            }
            String key = String.format("%s %s", name, lineNum);

            if (map.containsKey(key)) {
                map.put(key, map.getOrDefault(key, 0) + 1);
            } else {
                list.add(key);
                map.put(key, map.getOrDefault(key, 0) + 1);
            }
        }

        if (list.size() > 8) {
            // 边界!!
            list = list.subList(list.size() - 8, list.size());
        }

        list.forEach(r -> {
            System.out.printf("%s %d\n", r, map.get(r));
        });
    }
}


全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务