排序 中等 56 合併區間

2021-10-20 20:33:07 字數 1097 閱讀 7945

【題目】

以陣列 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] = [starti, endi] 。請你合併所有重疊的區間,並返回乙個不重疊的區間陣列,該陣列需恰好覆蓋輸入中的所有區間。

【示例 1】

輸入:intervals = [[1,3],[2,6],[8,10],[15,18]]

輸出:[[1,6],[8,10],[15,18]]

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

【示例 2】

輸入:intervals = [[1,4],[4,5]]

輸出:[[1,5]]

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

【提示】

1 <= intervals.length <= 104

intervals[i].length == 2

0 <= starti <= endi <= 104

【**】

【python】

class

solution

:def

merge

(self, intervals: list[list[

int]])

-> list[list[

int]]:

intervals.sort(key=

lambda x:

(x[0

],x[1]

))first=

0 pos=

1while pos<

len(intervals)

:if intervals[first][1

]>=intervals[pos][0

]:if intervals[first][1

]]:intervals[first][1

]=intervals[pos][1

] intervals.pop(pos)

else

: first=pos

pos+=

1return intervals

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 可被視為重疊區間。c...

LeeCode 中等 陣列 56 合併區間

中等陣列 給出乙個區間的集合,請合併所有重疊的區間。輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。from typing...

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 可被視為重疊區間。題...