二 刪除區間(Biweekly14)

2021-10-01 04:30:54 字數 1326 閱讀 3049

題目描述:

給你乙個 有序的 不相交區間列表 intervals 和乙個要刪除的區間 toberemoved, intervals 中的每乙個區間 intervals[i] = [a, b] 都表示滿足 a <= x < b 的所有實數 x 的集合。

我們將 intervals 中任意區間與 toberemoved 有交集的部分都刪除。

返回刪除所有交集區間後, intervals 剩餘部分的 有序 列表。

示例 1:

輸入:intervals = [[0,2],[3,4],[5,7]], toberemoved = [1,6]

輸出:[[0,1],[6,7]]

示例 2:

輸入:intervals = [[0,5]], toberemoved = [2,3]

輸出:[[0,2],[3,5]]

1 <= intervals.length <= 10^4

-10^9 <= intervals[i][0] < intervals[i][1] <= 10^9

emm,硬方法解出來的,考慮以下幾種情況:

1、給的刪除區間包含在遍歷的區間

2、遍歷的區間包含刪除的區間

3、刪除的區間的開始在遍歷的區間

4、刪除的區間的結束在遍歷的區間

5、二者不相交

方法有點蠢

class solution 

if(interval[0]

>= start && interval[1]

<= end )

if(interval[0]

<= start && interval[1]

>= end)

// 不相交 2種可能

if(start < interval[0]

&& end > interval[0]

) if(start < interval[1]

&& end > interval[1]

) // system.out.println(

"ddd");

}return result;

}}

其實大多數就是這個思路:

class solution 

if(intervals[i]

[1]> toberemoved[1])}

else

}return res;

}

private boolean intercross(int[

] a, int [

]b)}

二 刪除被覆蓋區間(Biweekly15)

題目描述 給你乙個區間列表,請你刪除列表中被其他區間所覆蓋的區間。只有當 c a 且 b d 時,我們才認為區間 a,b 被區間 c,d 覆蓋。在完成所有刪除操作後,請你返回列表中剩餘區間的數目。示例 輸入 intervals 1,4 3,6 2,8 輸出 2 解釋 區間 3,6 被區間 2,8 覆...

迴圈單鏈表區間刪除

本題要求實現帶頭結點的迴圈單鏈表的建立和單鏈表的區間刪除。l是乙個帶頭結點的迴圈單鏈表,函式listcreate cl用於建立乙個迴圈單鏈表,函式listdelete cl用於刪除取值大於min小於max的鍊錶元素。status listcreate cl linklist cl void list...

迴圈單鏈表區間刪除

6 1 迴圈單鏈表區間刪除 15 分 本題要求實現帶頭結點的迴圈單鏈表的建立和單鏈表的區間刪除。l是乙個帶頭結點的迴圈單鏈表,函式listcreate cl用於建立乙個迴圈單鏈表,函式listdelete cl用於刪除取值大於min小於max的鍊錶元素。status listcreate cl li...