Description Design a least-recently-used cache. Design a data structure that supports get and put with O(1) average time complexity.