A LRU cache is a special kind of cache that defines the way of evicting item from the cache when it is full. Its policy is to evict the least recently used item. For example, - a cache having capacity of 4 and is currently storing `[[1, '101'], [2, '102'], [3, '103'], [4, '104']]`, - where the 1st (leftmost) item [1, '101'] is the least recently used and - the last (rightmost) item [4, '104'] is the most recently used. - When the item [2, '102'] is accessed, - the cache becomes [[1, '101'], [3, '103'], [4, '104'], [2, '102']] as the item [2, '102'] becomes the most recently used. - When another item [10, '110'] is pushed into the cache, - the cache cannot hold all of the items and - must evict the least recently used item which is [1, '101'] and - the cache becomes [[3, '103'], [4, '104'], [2, '102'], [10, '110']].