Pregunta de entrevista de Meta

Write a class providing an LRU cache

Respuesta de la entrevista

Anónimo

24 abr 2017

public class LRUCache{ private Map map; private int capacity; public LRUCache(int capacityIn){ map = new LinkedHashMap(capacity+1); this.capacity = capacityIn; } public int get(int key) { Integer val = map.get(key); if (val == null) return -1; map.remove(key); map.put(key, val); return val; } public void set(int key, int value) { map.remove(key); map.put(key, value); if (map.size() > capacity) map.remove(map.entrySet().iterator().next().getKey()); } }