Java 队列 + HashMap

简单错误记录

http://www.nowcoder.com/questionTerminal/2baa6aba39214d6ea91a2e03dff3fbeb

运行时间:10ms
占用内存:9216KB
注意点:

  1. 主要是需要维护队列长度,保证其不超过8。

  2. HashMap用来记录出现过的错误,不能移除

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.LinkedList;
    import java.util.Queue;
    public class Main{
     public static void main(String[] args) throws IOException {
         InputStreamReader is = new InputStreamReader(System.in);
         BufferedReader br = new BufferedReader(is);
         String str = br.readLine();
         Queue<String> queue = new LinkedList<>();
         HashMap<String,Integer> map = new HashMap<>();
         while(str != null) {
             String[] strs = str.split("\\\\");
             String info = strs[strs.length - 1];
             if (map.containsKey(info)) {
                 map.put(info, map.get(info) + 1);
             } else {
                 map.put(info, 1);
                 queue.add(info);
             }
             if(queue.size() > 8){
                 String temp = queue.poll();
                 map.put(temp,0);
             }
             str = br.readLine();
         }
         while(!queue.isEmpty()){
             String temp = queue.poll();
             System.out.println(process(temp)+ " " + map.get(temp));
         }
     }
    
     private static String process(String str){
         String[] strs = str.split(" ");
         int len1 = strs[0].length();
         if(len1 <= 16)
             return str;
         else{
             return strs[0].substring(len1 - 16, len1) + " " +strs[1];
         }
     }
    }
全部评论
题意是第25行不置为0.
点赞 回复 分享
发布于 2021-06-30 00:09

相关推荐

10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务