LEETCODE 56 合併區間

2021-10-05 02:54:51 字數 619 閱讀 1457

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

將陣列按照起始區間排序:arrays.sort(intervals,(o1, o2)->o1[0]-o2[0]);while迴圈找到重疊的區間,使用list進行儲存。

class

solution

arrays.

sort

(intervals,

(o1, o2)

->o1[0]

-o2[0]

);//從小到大排列

list<

int[

]> list =

newarraylist

<

>()

;int i=0;

while

(ilist.

add(

newint

);i++;}

return list.

toarray

(new

int[0]

);}}

時間複雜度:o(nlogn),主要是排序的時間複雜度。

空間複雜度:o(logn),排序的空間複雜度。

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 可被視為重疊區間。題意還是好理...