哈希表:利用查找O(1)特性,用于记录key对应的键值对在链表中的位置,用指针表示。双向链表:利用插入和删除操作的O(1)特性。用于模拟缓存,当哈希表给出了操作的位置,就可以直接调整链表结点的指针从而实现O(1)的插入和删除。 class Solution { private: int capacity; unordered_map<int, list<pair<int, int>>::iterator> hash; //{key=iterator} list<pair<int, int>> cache; ...