二 刪除被覆蓋區間(Biweekly15)

2021-10-01 12:03:51 字數 832 閱讀 2354

題目描述:

給你乙個區間列表,請你刪除列表中被其他區間所覆蓋的區間。

只有當 c <= a 且 b <= d 時,我們才認為區間 [a,b) 被區間 [c,d) 覆蓋。

在完成所有刪除操作後,請你返回列表中剩餘區間的數目。

示例:輸入:intervals = [[1,4],[3,6],[2,8]]

輸出:2

解釋:區間 [3,6] 被區間 [2,8] 覆蓋,所以它被刪除了。

1 <= intervals.length <= 1000

0 <= intervals[i][0] < intervals[i][1] <= 10^5

對於所有的 i != j:intervals[i] != intervals[j]

emm排個序就行了,比較簡單:

先對所有區間按左端點公升序排序,如果左端點相同,按右端點降序排序,這樣一來如果有覆蓋,一定是前面的覆蓋後面的

class solution else

return - o1[1] + o2[1];

}});

setset = new hashset<>();

int get = 0;

for (int i = 0; i < intervals.length; i = get)

int interval = intervals[i];

get = i + 1;

while (get < intervals.length)else

break;}}

return intervals.length - set.size();

}}

演算法練習 刪除被覆蓋區間

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

排序 中等 1288 刪除被覆蓋區間

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

Leetcode刷題1288 刪除被覆蓋區間

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