題目描述:
給你乙個區間列表,請你刪除列表中被其他區間所覆蓋的區間。
只有當 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 覆蓋,所以它...