題目描述:
給出乙個無重疊的,按照區間起始端點排序的區間列表。
在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。
示例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...