leetcode 區間合併

2022-06-07 18:24:09 字數 870 閱讀 7154

個區間若能合併,則第乙個區間的右端點一定不小於第二個區間的左端點。所以先把區間集合按照左端點從小到大進行排序,接著從第乙個區間開始遍歷,對每個區間執行如下操作:

1.首先儲存該區間的左端點start和右端點end;

3.若當前區間不再滿足合併條件或者遍歷到了集合末尾,就構建新合併區間,其中左端點為初始區間的左端點,右端點為當前所有合併區間右端點的最大值,然後將其加入到結果集合中,接著合併下乙個區間;

#

definition for an interval.

#class interval:

#def __init__(self, s=0, e=0):

#self.start = s

#self.end = e

class

solution(object):

defmerge(self, intervals):

""":type intervals: list[interval]

:rtype: list[interval]

"""if intervals ==:

return

intervals = sorted(intervals,key=lambda

x:x.start)

res =

tmp =intervals[0]

for i in range(1,len(intervals)):

if tmp.end >=intervals[i].start:

tmp.end =max(tmp.end,intervals[i].end)

else

: tmp =intervals[i]

return res

LeetCode 區間合併

區間合併 給出乙個區間的集合,請合併所有重疊的區間。示例 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 可被視為重疊區間。i...

LeetCode 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 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 可被視為重疊區間。思路分析 此...

LeetCode 合併區間

q 給出乙個區間的集合,請合併所有重疊的區間。示例 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 可被視為重疊區間。a 按s...