給出乙個無重疊的 ,按照區間起始端點排序的區間列表。
在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。
示例:
例 1:**分為兩部分:1. 使用二分查詢找到新區間應該插入的位置;2. 將新區間插入到該位置處,之後遍歷陣列來合併區間。見合併區間.輸入: 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
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,...