当 k
个日程存在一些非空交集时(即, k
个日程包含了一些相同时间),就会产生 k
次预订。
给你一些日程安排 [startTime, endTime)
,请你在每个日程安排添加后,返回一个整数 k
,表示所有先前日程安排会产生的最大 k
次预订。
实现一个 MyCalendarThree
类来存放你的日程安排,你可以一直添加新的日程安排。
MyCalendarThree()
初始化对象。int book(int startTime, int endTime)
返回一个整数k
,表示日历中存在的k
次预订的最大值。
class MyCalendarThree: def __init__(self): self.d = SortedDict() def book(self, startTime: int, endTime: int) -> int: self.d[startTime] = self.d.setdefault(startTime, 0) + 1 self.d[endTime] = self.d.setdefault(endTime, 0) - 1 ans = maxbook = 0 for freq in self.d.values(): maxbook += freq ans = max(ans, maxbook) return ans # Your MyCalendarThree object will be instantiated and called as such: # obj = MyCalendarThree() # param_1 = obj.book(startTime,endTime)
标签:MyCalendarThree,int,self,732,startTime,日程安排,endTime,III From: https://www.cnblogs.com/xxlm/p/18652571