Google Interview Question

"Design and implement an LRU cache supporting get and put in O(1) average time".