區間比較 Leecode 56 合併區間心得

2021-10-14 19:58:43 字數 732 閱讀 5121

問題:

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

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

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

解題思路:

為了將不同區間合併,我們需要判斷兩區間內是否存在重疊關係,比如 區間 [1,3] 和 [2,6]中,2與3重疊。判斷方法為比較兩區間左右兩邊邊界數字的大小。對區間i和j:

如果 具體**(搬運自leecode官方結題):

classsolution:defmerge(self, intervals):

intervals.sort(key=lambdax: x[0])

merged =forintervalinintervals:# 如果列表為空,或者當前區間與上一區間不重合,直接新增

merged[-1][1] = max(merged[-1][1], interval[1])returnmerged

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

s = solution()

print(s.merge(list))

**執行結果為

圖1 合併區間**執行結果

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...

Leecode刷題筆記 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 可被視為重疊區間。思...

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 可被視為重疊區間。思路 注釋 ...