实现一个日程安排类:MyCalendar
题目描述
我们需要实现一个名为 MyCalendar
的类,来管理日程安排。该类具有以下两个主要功能:
- 初始化日历对象:创建一个空的日历对象。
- 预约时间:
book(startTime, endTime)
方法,能够将指定的时间段[startTime, endTime)
添加到日程中,确保没有重叠的预约。
如果该预约能够成功添加(即不与现有的任何预约发生重叠),则返回 true
,否则返回 false
,并且不进行该预约操作。时间是半开区间,即 startTime <= x < endTime
,表示预约的开始时间是包含的,而结束时间是排除的。
例子
# 创建 MyCalendar 对象
my_calendar = MyCalendar()
# 添加时间段 [10, 20]
print(my_calendar.book(10, 20)) # 输出 True,表示预约成功
# 添加时间段 [15, 25]
print(my_calendar.book(15, 25)) # 输出 False,表示时间与之前的预约 [10, 20] 重叠
# 添加时间段 [20, 30]
print(my_calendar.book(20, 30)) # 输出 True,表示预约成功
解题分析
关键点
- 时间段的重叠判断