题解 | #设计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