實現乙個mycalendar
類來存放你的日程安排,你可以一直新增新的日程安排。
mycalendar
有乙個book(int start, int end)
方法。它意味著在start到end時間內增加乙個日程安排,注意,這裡的時間是半開區間,即[start, end)
, 實數x
的範圍為,start <= x < end
。
當k個日程安排有一些時間上的交叉時(例如k個日程安排都在同一時間內),就會產生k次預訂。
每次呼叫mycalendar.book
方法時,返回乙個整數k
,表示最大的k
次預訂。
請按照以下步驟呼叫mycalendar
類:mycalendar cal = new mycalendar();
mycalendar.book(start, end)
示例 1:
mycalendarthree();
mycalendarthree.book(10, 20); // returns 1
mycalendarthree.book(50, 60); // returns 1
mycalendarthree.book(10, 40); // returns 2
mycalendarthree.book(5, 15); // returns 3
mycalendarthree.book(5, 10); // returns 3
mycalendarthree.book(25, 55); // returns 3
解釋:
前兩個日程安排可以預訂並且不相交,所以最大的k次預訂是1。
第三個日程安排[10,40]與第乙個日程安排相交,最高的k次預訂為2。
其餘的日程安排的最高k次預訂僅為3。
請注意,最後一次日程安排可能會導致區域性最高k次預訂為2,但答案仍然是3,原因是從開始到最後,時間[10,20],[10,40]和[5,15]仍然會導致3次預訂。
說明: 732 我的日程安排表 III
題目 實現乙個 mycalendar 類來存放你的日程安排,你可以一直新增新的日程安排。mycalendar 有乙個 book int start,int end 方法。它意味著在start到end時間內增加乙個日程安排,注意,這裡的時間是半開區間,即 start,end 實數 x 的範圍為,sta...
LeetCode 我的日程安排表III(細節處理)
實現乙個 mycalendar 類來存放你的日程安排,你可以一直新增新的日程安排。mycalendar 有乙個 book int start,int end 方法。它意味著在start到end時間內增加乙個日程安排,注意,這裡的時間是半開區間,即 start,end 實數 x 的範圍為,start ...
729 我的日程安排表 I
實現乙個mycalendar類來存放你的日程安排。如果要新增的時間內沒有其他安排,則可以儲存這個新的日程安排。mycalendar有乙個book int start,int end 方法。它意味著在 start 到 end 時間內增加乙個日程安排,注意,這裡的時間是半開區間,即 start,end ...