from collections import OrderedDict
class Solution:
def LRU(self , operators , k ):
ret = []
od = OrderedDict()
for opt in operators:
if opt[0] == 1:
if len(od) < k:
od[str(opt[1])] = opt[2]
else:
od.pop(list(od.keys())[0])
od[str(opt[1])] = opt[2]
else:
if str(opt[1]) in od:
if len(od) <= k:
ret.append(od.get(str(opt[1])))
od.move_to_end(str(opt[1]))
else:
od.pop(list(od.keys())[0])
od[str(opt[1])] = opt[2]
ret.append(od.get(str(opt[1])))
else:
ret.append(-1)
return ret用OrderedDict做这个很适合吧 不知有大神指教更简单的解法没



京公网安备 11010502036488号