这是我遇到的一个大型软件专业的面试问题。
为服务器设计一个数据结构,可以存储最多100条记录,2个函数用于访问服务器get(k),put(k,v,x)。 其中k是密钥,v是对应的值,x是无法删除此记录的到期时间。
方法我到目前为止:维护两个数据结构。
Hashmap:存储键,值对。 PriorityQueue:按记录的到期时间顺序创建优先级。 并且队列中的每个条目也将具有键值,这样当记录到期时,我们可以在O(1)时间内从hashmap中删除键值对。
我想问一下,我们能否为这个问题设计一个更好的解决方案。