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