How to Implement an LRU Cache (Leetcode #146 explained)