2025-12-27 16:45:10 +0300 MSK
Longest Uploaded Prefix
Links
Code
class LUPrefix:
def __init__(self, n: int):
self._start = {}
self._end = {}
def upload(self, video: int) -> None:
if video - 1 not in self._end and video + 1 not in self._start:
self._start[video] = video
self._end[video] = video
elif video - 1 in self._end and video + 1 in self._start:
end = self._start.pop(video + 1)
start = self._end.pop(video - 1)
self._start[start] = end
self._end[end] = start
elif video -1 in self._end:
start = self._end.pop(video - 1)
self._start[start] = video
self._end[video] = start
elif video + 1 in self._start:
end = self._start.pop(video + 1)
self._start[video] = end
self._end[end] = video
def longest(self) -> int:
return self._start.get(1, 0)
# Your LUPrefix object will be instantiated and called as such:
# obj = LUPrefix(n)
# obj.upload(video)
# param_2 = obj.longest()