/** * lru design * @param operators int整型二维数组 the ops * @param k int整型 the k * @return int整型一维数组 */ function LRU( operators , k ) { // write code here let cache = new Map() let result = [] for(let item of operators){ if(item[0]==1){ if(cache.size < k){ if(cache.has(item[1])){ cache.delete(item[1]) } cache.set(item[1],item[2]) }else { cache.delete(cache.keys().next().value) cache.set(item[1],item[2]) } }else if(item[0]==2){ if(cache.has(item[1])){ let value = cache.get(item[1]) cache.delete(item[1]) cache.set(item[1],value) result.push(value) }else{ result.push(-1) } } } return result } module.exports = { LRU : LRU };