插入區間 python

2021-09-19 14:24:34 字數 1140 閱讀 4514

題目描述:

給出乙個無重疊的,按照區間起始端點排序的區間列表。

在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。

示例1:

輸入:intervals = [[1,3],[6,9]], newinterval = [2,5]

輸出:[[1,5],[6,9]]

示例2:

輸入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newinterval = [4,8]

輸出:[[1,2],[3,10],[12,16]]

解釋:這是因為新的區間[4,8]與[3,5],[6,7],[8,10]重疊。

class solution(object):

def insert(self, intervals, newinterval):

""":type intervals: list[list[int]]

:type newinterval: list[int]

:rtype: list[list[int]]

"""#思路:先將newinterval插入intervals中並進行排序,之後將所有區間進行合併

if len(intervals) == 0:

return [newinterval]

res =

temp = intervals+[newinterval]

temp = list(sorted(temp))

low = temp[0][0]

high = temp[0][1]

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

#若當前區間和目前儲存區間有交集,則進行判斷後修改相應的區間引數;若當前區間和目前儲存區間沒有交集,則將目前儲存區間放入到結果集合中,並將當前區間記錄成目前儲存區間

if high >= temp[i][0]:

if high < temp[i][1]:

high = temp[i][1]

else:

low = temp[i][0]

high = temp[i][1]

return res

菜鳥一枚,**僅供參考,如有問題,望指正~ 

插入區間 Python 排序

給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 示例 1 輸入 intervals 1,3 6,9 newinterval 2,5 輸出 1,5 6,9 示例 2 輸入 intervals 1,2 3,...

56 57 合併區間 插入區間

給出乙個區間的集合,請合併所有重疊的區間。直接對區間起點進行排序,然後遍歷,判斷當前遍歷區間的起點是否在前一區間內,在的話,更新前一區間的終點為兩者終點最大值,不在的話直接將當前區間插入。class solution sort intervals.begin intervals.end const ...

LintCode 插入區間

給出乙個無重疊的按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 樣例 插入區間 2,5 到 1,2 5,9 我們得到 1,9 插入區間 3,4 到 1,2 5,9 我們得到 1,2 3,4 5,9 definition o...