题目链接:729. 我的日程安排表 I
用一个有序列表来存储日程。
from sortedcontainers import SortedList
class MyCalendar:
def __init__(self):
self.events = SortedList()
def book(self, start: int, end: int) -> bool:
if not self.events:
self.events.add((start, end))
return True
i = self.events.bisect_left((start, end))
if (0 <= i < len(self.events)) and self.events[i][0] == start:
return False
if (not (0 <= i - 1 < len(self.events)) or self.events[i - 1][1] <= start) \
and (not (0 <= i < len(self.events)) or self.events[i][0] >= end):
self.events.add((start, end))
return True
return False