57 插入區間

2022-05-13 07:37:25 字數 788 閱讀 8790

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

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

示例 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] 重疊。

注意:輸入型別已在 2019 年 4 月 15 日更改。請重置為預設**定義以獲取新的方法簽名。

class

solution(object):

definsert(self, intervals, newinterval):

s, e = newinterval[0], newinterval[1]

left, right =,

for i in

intervals:

if i[1] left +=i

elif i[0] >e:

right +=i

else

: s =min(s, i[0])

e = max(e, i[1])

return left + [[s,e]] + right

57 插入區間

發現這個題目變簡潔了。區間直接以二維陣列的形式給出,而不是自己定義的資料結構,所以不需要自己寫排序函式了。給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 示例 1 輸入 intervals 1,3 6,...

57 插入區間

第一道hard 思路 將新插入的區間乙個個去比較,有交集的,取並集並放到雜湊表裡,拿新並集繼續和下乙個比較,最後做乙個排序。注意插入到雜湊表中的資料,取更大的並集即可。題目 給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要...

57 插入區間 困難 區間劃分

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