LeetCode57. 插入区间
2024-08-29 22:26:26
对于新插入的区间newInterval,原区间列表intervals可以分为三个部分:
- 左边与newInterval不重合的区间,这些区间直接加入结果数组中;
- 中间与newInterval重合的区间,我们需要更新newInterval的左右端点,使得左右端点分别为重合部分的最左和最右;
- 右边与newInterval不重合的区间,这些区间直接加入结果数组中。
class Solution {
public:
vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
vector<vector<int>> res;
int i = 0;
while(i < intervals.size() && intervals[i][1] < newInterval[0]) {
res.push_back(intervals[i]);
++i;
}
if(i < intervals.size()) {
newInterval[0] = min(newInterval[0], intervals[i][0]);
while(i < intervals.size() && intervals[i][0] <= newInterval[1]) {
newInterval[1] = max(newInterval[1], intervals[i][1]);
++i;
}
}
res.push_back(newInterval);
while(i < intervals.size()) {
res.push_back(intervals[i]);
++i;
}
return res;
}
};
最新文章
- css3 自定义字体的使用方法
- 关于Listview布局的一点经验
- 关于最近在做的一个js全屏轮播插件
- CentOS6.5系统软件仓库及挂载NTFS
- 10gR2-11gR1,11gR2如何干净的清除并重建OCR和表决磁盘
- UVA 11090 Going in Cycle!!(二分答案+判负环)
- 十,选择cfee编辑器并学会调试程序。以及结束语。
- windows设置临时环境变量path
- docker学习笔记17:Dockerfile 指令 ONBUILD介绍
- Jquery右击显示菜单事件,运用smartMenu插件。
- Socket编程实践(2) --Socket编程导引
- U盘被写保护不能重新格式化
- Flutter 获取控件尺寸和位置
- selenium+python自动化85-python3.6上SendKeys报错用PyUserInput取代
- Daily scrum 2015.10.19
- 在Windows下搭建基于nginx的视频直播和点播系统
- Android开发:《Gradle Recipes for Android》阅读笔记1.5
- 微信小程序里使用 Redux 状态管理
- C# SuperSocket服务端入门(一)
- 机器学习(七) PCA与梯度上升法 (下)