euisblue
146. LRU Cache

Ruby

1class LRUCache 2 def initialize(capacity) 3 @capacity = capacity 4 @cache = {} 5 end 6 7 def get(key) 8 return -1 if @cache[key] == nil 9 10 value = @cache[key] 11 @cache.delete(key) 12 @cache[key] = value 13 @cache.shift if @cache.length > @capacity 14 return value 15 end 16 17 def put(key, value) 18 @cache.delete(key) 19 @cache[key] = value 20 @cache.shift if @cache.length > @capacity 21 end 22end