9.4携程笔试

今晚携程第三题 ; 提示我有非法越界 ; 检查不出来 ; 大牛们看一下

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
public class Main3{
    static Queue<Integer> q=new LinkedList<Integer>();
    static Map<Integer,Integer> map=new HashMap<Integer,Integer>();
    static int max;
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        max=scan.nextInt();

        String str;
        int key;
        int value;
        while(scan.hasNext()){
            str=scan.next();
            if("p".equals(str)){
                key=scan.nextInt();
                value=scan.nextInt();
                if(map.containsKey(key)){
                    map.put(key, value);
                    continue;
                }
                if(map.size()>=max){
                    int re=duiLie(key);
                    map.remove(re);
                    map.put(key, value);
                }else{
                    q.offer(key);
                    map.put(key, value);
                }

            }else if("g".equals(str)){
                key=scan.nextInt();
                q.remove(key);
                q.offer(key);
                if(map.get(key)==null)
                    System.out.println(-1);
                else
                    System.out.println(map.get(key));

            }    
        }


    }
    public static int  duiLie(int x){
        int re=-1;
        if(q.size()>=max){
         
            re=q.poll();
            q.offer(x);

        }else{
            if(q.contains(x))
                q.remove(x);
            q.offer(x);
        }
        return re;

    }


}
#携程##笔试题目#
全部评论
LRU缓存中的容量n可能小于等于0,判断一下这个就100了
点赞 回复 分享
发布于 2018-09-04 21:07
加1,百分之87.5
点赞 回复 分享
发布于 2018-09-04 21:01
➕1,整懵逼了都
点赞 回复 分享
发布于 2018-09-04 20:57
考虑***容量为0的情况,就可以100%了
点赞 回复 分享
发布于 2018-09-04 20:45
我也是
点赞 回复 分享
发布于 2018-09-04 20:40
非法越界+1,87.5%+1,但是我是C++
点赞 回复 分享
发布于 2018-09-04 20:36
我也是不明原因的非法越界
点赞 回复 分享
发布于 2018-09-04 20:34
我这个也只a了87.5,说是越界
点赞 回复 分享
发布于 2018-09-04 20:34

相关推荐

身边有人上海、深圳&nbsp;6、7k&nbsp;都去了,真就带薪上班了。
程序员小白条:木的办法, 以后越来越差,还是家附近宅着吧,毕业的人越来越多,岗位都提供不出来,经济又过了人口红利期
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

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