设计并实现一个线程安全的 LRU(最近最少使用)缓存

#一人分享一道面试手撕题#
需求规格
基本功能:
LRUCache(int capacity) 初始化缓存容量
int get(int key) 如果key存在则返回value,否则返回-1
void put(int key, int value) 如果key已存在则更新,否则插入
当缓存达到容量时,put操作应淘汰最久未使用的key

性能要求:
get和put操作的时间复杂度应为O(1)
考虑线程安全

扩展要求(根据面试时间):
支持过期时间(TTL)
支持持久化到磁盘
支持统计信息(命中率等)
全部评论

相关推荐

评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务