重疊子區間問題

2022-08-11 22:39:23 字數 760 閱讀 7537

新的一天,新的刷題記錄。

leetcode 435 無重疊區間

給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。

注意:可以認為區間的終點總是大於它的起點。

區間 [1,2] 和 [2,3] 的邊界相互「接觸」,但沒有相互重疊。

示例:

輸入: [ [1,2], [2,3], [3,4], [1,3

] ]輸出:

1解釋: 移除 [

1,3] 後,剩下的區間沒有重疊。

12

2313

34那麼排序之後的第乙個元素的右邊是最小的,我們跟剩下的進行對比,如果下乙個區間的左邊小於前乙個的右邊那麼就有重疊區間,否則就令右邊等於當前區間的右邊。

**分析如下:

1

//假設區間陣列為temp

2int n=temp.size();

3sort(temp.begin(),temp.end(),cmp);

4int x_start=temp[0][1];5

for(int i=1;i)else

具體實現入下:

1

class

solution

6int eraseoverlapintervals(vectorint>>&intervals) else20}

21return

count;22}

23 };

類似,也做了452題,加油加油。

合併子區間

輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 核心思想是 1.根據所有區間的開始位置進行排序 2.如果當前區間的開始比上乙個區間的結束小,則進行合併 3.不斷重複2 4.新增最後乙個區間 python 實現...

分金子(區間dp)

分金子 360公司2017春招真題 a b兩夥馬賊意外地在一片沙漠中發現了一處金礦,雙方都想獨佔金礦,但各自的實力都不足以吞下對方,經過談判後,雙方同意用乙個公平的方式來處理這片金礦。處理的規則如下 他們把整個金礦分成n段,由a b開始輪流從最左端或最右端佔據一段,直到分完為止。馬賊a想提前知道他們...

求子區間(主席樹)

時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 給乙個長度為n的陣列a,給定乙個d,q,接下來有q次詢問,每次詢問區間 l,r 內有多少子區間,其區間和大於等於d q行每行乙個數字表示答案示例1 複製5 3 2 ...