设计LRU缓存结构

图片说明

/**
 * 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
};
其他算法 文章被收录于专栏

其他算法

全部评论

相关推荐

自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 18:13
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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