981. Time Based Key-Value Store
class TimeMap(object):
def __init__(self):
self.map = collections.defaultdict(list)
def set(self, key, value, timestamp):
self.map[key].append([value, timestamp])
def get(self, key, timestamp):
values = self.map.get(key, [])
l, r = 0, len(values) - 1
res = ""
while l <= r:
mid = (l + r) // 2
if values[mid][1] <= timestamp:
res = values[mid][0]
l = mid + 1
else:
r = mid - 1
return res