LeetCode 57 插入區間

2022-07-13 17:15:10 字數 1359 閱讀 8360

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

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

輸入: 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

:def

insert

(self, intervals: list[list[

int]

], newinterval: list[

int])-

> list[list[

int]]:

if intervals==

:return

[newinterval]

if newinterval[0]

<=intervals[0]

[0]:

intervals.insert(

0,newinterval)

elif newinterval[0]

>intervals[-1

][0]

:else

:for i in

range

(len

(intervals)):

if intervals[i+1]

[0]>=newinterval[0]

>=intervals[i][0

]:intervals.insert(i+

1,newinterval)

break

print

(intervals)

ans =

for i in intervals:

if ans==

:else

: start=ans[-1

][0]

end=ans[-1

][1]

if i[0]

>end:

else

: ans[-1

][1]

=max

(end,i[1]

)return ans

LeetCode 57 插入區間

幾個注意點 1.原集合為空 2.插入在最開始的位置 3.插入在末尾位置 4.插入在中間 可以通過新增標誌,沒有新增就每次都去判斷重疊情況進行新增 vectorresult if intervals.size 0 bool isadd false for int i 0 i intervals.siz...

leetcode57 插入區間

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

leetcode 57 插入區間

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