leetcode 56 合併區間

2021-10-05 14:01:43 字數 729 閱讀 4421

給出乙個區間的集合,請合併所有重疊的區間。

示例 1:

輸入: [

[1,3],[2,6],[8,10],[15,18]

]輸出: [

[1,6],[8,10],[15,18]

]解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].

示例 2:

輸入: [

[1,4],[4,5]

]輸出: [

[1,5]

]解釋: 區間 [1,4] 和 [4,5] 可被視為重疊區間。

思路:

1.將區間從小到大按左端點從小到大排序,依次遍歷

2.首先將第乙個區間壓入答案陣列中,保持指標指向區間右端點。

3.依次比較每乙個陣列,如果當前區間的左端點小於等於指標指向的右端點的值,則表示兩個區間可以合併,將指標更新為當前右端點與該區間右端點的較大值,否則,表示兩個區間不能合併,將該區間作為新的區間壓入答案陣列中,更新指標指向當前右端點。

ac**:(c++)

class

solution);

else

ans.

back()

[1]=

max(ans.

back()

[1], right);}

return ans;}}

;

Leetcode 56 合併區間

對所有區間按起點位置進行排序 遍歷到k點後的 l,r 已知的包含k點的最大區間 遍歷到k 1點,若該起點屬於 l,r 那麼可能擴充套件這個區間的終點,r max r,k 1點的end definition for an interval.struct interval interval int s,...

LeetCode 56 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。解題思路 1...

LeetCode 56 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。題意還是好理...