/**
* 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
};
设计LRU缓存结构
猜你喜欢
转载自blog.csdn.net/weixin_45284354/article/details/113834756
今日推荐
周排行