2023-08-28每日一题
一、题目编号
57. 插入区间
二、题目链接
点击跳转到题目位置
三、题目描述
给你一个 无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
示例 1:
示例 2:
示例 3:
示例 4:
示例 5:
提示:
- 0 <= intervals.length <= 104
- intervals[i].length == 2
- 0 <= intervals[i][0] <= intervals[i][1] <= 105
- intervals 根据 intervals[i][0] 按 升序 排列
- newInterval.length == 2
- 0 <= newInterval[0] <= newInterval[1] <= 105
四、解题代码
class Solution {
public:
vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
intervals.push_back(newInterval);
int n = intervals.size();
sort(intervals.begin(), intervals.end(),
[&](vector<int> &a, vector<int> &b){
return a[0] < b[0];
});
vector<vector<int>> res;
int left = intervals[0][0];
int right = intervals[0][1];
for(int i = 1; i < n; ++i){
if(intervals[i][0] <= right){
right = max(right, intervals[i][1]);
} else{
res.push_back({left, right});
left = intervals[i][0];
right = intervals[i][1];
}
}
res.push_back({left, right});
return res;
}
};
五、解题思路
(1) 将新的区间放入旧的区间当中。文章来源:https://www.toymoban.com/news/detail-677766.html
(2) 剩下的问题与昨日的每日一题合并区间没有任何区别,不会的兄弟可以阅读一下该篇文章——2023-08-27 LeetCode每日一题(合并区间)文章来源地址https://www.toymoban.com/news/detail-677766.html
到了这里,关于2023-08-28 LeetCode每日一题(插入区间)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!