LeetCode OJ - Insert Interval
来源:互联网 发布:mysql数据库引擎 编辑:程序博客网 时间:2024/06/05 18:48
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).
You may assume that the intervals were initially sorted according to their start times.
Example 1:
Given intervals [1,3],[6,9]
, insert and merge [2,5]
in as [1,5],[6,9]
.
Example 2:
Given [1,2],[3,5],[6,7],[8,10],[12,16]
, insert and merge [4,9]
in as [1,2],[3,10],[12,16]
.
This is because the new interval [4,9]
overlaps with [3,5],[6,7],[8,10]
.
分析:经典的迭代,newInterval(A)与intervals(B[i])中的元素逐个比较,
1.若A < B[i],即A范围所有数小于B范围,那么直接插入A、插入B[i]以及后续元素
2.若A > B[i],插入B[i]进入下一次迭代
3.若A与B[i]有交集, 根据并集修改A :A.start = min( A.start, B[i].start); A.end = max(A.end, B[i].end);
class Solution {public: vector<Interval> insert(vector<Interval> &intervals, Interval newInterval) { int size = intervals.size(); vector<Interval> ret; for(int i=0; i<size; i++) { if( newInterval.end < intervals[i].start) { ret.push_back( newInterval); ret.insert(ret.end(), intervals.begin()+i, intervals.end() ); return ret; } else if(intervals[i].end < newInterval.start) { ret.push_back( intervals[i]); } else { newInterval.start = min(newInterval.start, intervals[i].start); newInterval.end = max(newInterval.end, intervals[i].end); } } ret.push_back(newInterval); return ret; }};
0 0
- LeetCode OJ:Insert Interval
- LeetCode OJ - Insert Interval
- LeetCode OJ Insert Interval
- LeetCode OJ 57 Insert Interval [hard]
- LeetCode: Insert Interval & Merge Interval
- LeetCode OJ算法题(五十六):Insert Interval
- LeetCode OJ 之 Insert Interval (插入区间)
- LeetCode题目 Insert Interval
- LeetCode: Insert Interval
- LeetCode Insert Interval
- LeetCode: Insert Interval
- Leetcode: Insert Interval
- [LeetCode] Insert Interval
- LeetCode Insert Interval
- [LeetCode]Insert Interval
- leetcode insert interval
- [leetcode]Insert Interval
- LeetCode-Insert Interval
- 11.Spring + Hibernate + JPA
- Markdown中插入数学公式的方法
- jQuery Event add [ 源码分析 ]
- Android 百度地图开发如何设置地图中心点
- D客微信 永久免费、轻松分享
- LeetCode OJ - Insert Interval
- input file 实现图片预览效果
- 金庸武侠小说之我的见解
- iOS产生随机数
- httpclient教程(四)
- 基于testNg的测试框架设计(二)---使用ant运行testNg
- Linux下PHP连接MS SQLServer的办法
- 实例学习gcc+gdb+make
- IOS 四种保存数据的方式