732 我的日程安排表 III

2021-09-23 06:00:15 字數 1159 閱讀 7306

實現乙個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 ...