我的日程安排表 I
拟人算法系列文章,以容易理解的方式描述算法,点赞收藏不迷路
class MyCalendar:
def __init__(self):
self.temp = set()
def book(self, start: int, end: int) -> bool:
is_ok = True
for i in self.temp:
if not (start >= i[1] or end <= i[0]):
is_ok = False
break
if is_ok:
self.temp.add((start, end))
return True
else:
return False
if __name__ == '__main__':
obj = MyCalendar()
print(obj.book(10, 20)) # True
print(obj.book(15, 25)) # False
print(obj.book(20, 30)) # True
比如一个人检查每一个将要加入一个新的区间,先和之前已加入的每个区间进行比较,如果都不冲突,那么加入,返回 True,否则返回 False