Leetcode 57. Insert Interval
2016-04-29 16:26
399 查看
问题
https://leetcode.com/problems/insert-interval/解法
要插入的段 newInterval 与原有的intervals 会相互重叠一部分。首先找到重叠的左右边界,插入即可。
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */ class Solution { public: vector<Interval> insert(vector<Interval>& intervals, Interval newInterval) { vector<Interval> ret; int i=0; for (; i<intervals.size() && intervals[i].end < newInterval.start; ++i )// 前面不相交 ret.push_back(intervals[i]); if (i <intervals.size()) // 可能没有相交部分 newInterval.start = min(newInterval.start, intervals[i].start); for (; i<intervals.size() && intervals[i].start <= newInterval.end; ++i)//处理相交部分 newInterval.end = max(newInterval.end, intervals[i].end); ret.push_back(newInterval); //插入新段 for (; i<intervals.size(); ++i)// 之后不相交部分 ret.push_back(intervals[i]); return ret; } };
相关文章推荐
- 最优二分查找树
- STM8变量的存储
- nyoj_94 cigarettes
- poj2287田忌赛马
- XML操作
- SqlBulkCopy 数据库批量插入数据
- AWR 及STATSPACK的snapshot不能自动生成排查
- JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
- epoll-linux4.1.10
- Linux C++程序进行性能分析工具gprof使用入门
- HHU ACM第十四周 省赛冲刺专题(一)题解
- HM在vs2010下的测试使用详细说明
- 博客推广站点收集(不断更新中......)
- java直接调用python脚本的例子
- 六天玩转javascript:javascript变量与表达式(2)
- maven基础教程(一)
- CRT 退出全屏方法
- ajax在ie上不能用了
- MyEclipse 中各种 libraries 的含义
- web.xml配置文件介绍