题解 | #设计LRU缓存结构#Python

设计LRU缓存结构

http://www.nowcoder.com/practice/e3769a5f49894d49b871c09cadd13a61

class Solution:
    def LRU(self , operators , k ):
        # write code here
        if not operators or not k:
            return []
        List = []   #Cache
        res = []   #Results
        # set()
        def set(List, ele, k):
            for j in range(len(List)):
                if ele[1] == List[j][0]:
                    del List[j]
                    List.append([ele[1], ele[2]])
                    return
            if len(List) == k:
                del List[0]
            List.append([ele[1], ele[2]])
        # get()
        def get(List, ele, res):
            if len(List) == 0:
                res.append(-1)
            for j in range(len(List)):
                if ele[1] == List[j][0]:
                    sav = List[j]
                    del List[j]
                    List.append(sav)
                    res.append(sav[1])
                    break
                if j == len(List)-1:
                    res.append(-1)
        #input
        for ele in operators:
            if ele[0] == 1:
                set(List, ele, k)
            else:
                get(List, ele, res)
        return res
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-21 13:38
8月实习会变多吗现在还没找到实习该怎么办...回复的hr好少
码农索隆:3-4月就要开始找,基本上6月份就发offer,7月初已经开始暑期实习了。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-21 13:41
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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