每日刷題 插入區間

2021-09-27 07:35:01 字數 1082 閱讀 6024

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

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

示例:

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

**分為兩部分:1. 使用二分查詢找到新區間應該插入的位置;2. 將新區間插入到該位置處,之後遍歷陣列來合併區間。見合併區間.

**:

class

solution

else

if( intervals[middle][0

]> newinterval[0]

) right = middle;

else

left = middle +1;

}//插入過程

//此時應該在 left 處插入

intervals.

insert

( intervals.

begin()

+ left, newinterval)

;//此處有優化的空間

//合併

vectorint>> res;

vector<

int> temp;

for(

int i =

0; i < intervals.

size()

; i++)if

( temp.

size()

) res.

push_back

( temp)

;return res;}}

;

每日刷題 缺失的區間

給定乙個排序的整數陣列 nums 其中元素的範圍在 閉區間 lower,upper 當中,返回不包含在陣列中的缺失區間。示例 輸入 nums 0,1,3,50,75 lower 0 和 upper 99,輸出 2 4 49 51 74 76 99 閱讀理解題,按照題目來即可。class soluti...

每日一題 46插入區間

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

每日leetcode 插入區間

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