代码编织梦想

题目截图

在这里插入图片描述

题目分析

  • 实现LRU算法
  • 继承LinkHashMap即可
  • 需要一个removeEldestEntry,只要size() > capacity即可

ac code

class LRUCache extends LinkedHashMap<Integer, Integer>{
    private int capacity;
    
    public LRUCache(int capacity) {
        super(capacity, 0.75F, true);
        this.capacity = capacity;
    }

    public int get(int key) {
        return super.getOrDefault(key, -1);
    }

    public void put(int key, int value) {
        super.put(key, value);
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<Integer, Integer> eldest) {
        return size() > capacity; 
    }
}


总结

  • py也有OrderedDict可以继承搞定
  • java就用LinkHashMap搞定!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40986490/article/details/128488332