31_leetcode_ Insert Interval
来源:互联网 发布:商务部数据 编辑:程序博客网 时间:2024/05/18 09:08
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]
1:当数组为null的时候;2:遍历数组,并检测当前interval与数组当前interval之间的关系并做出相应的判断;3:遍历完成后,把最后的interval保存到数组中
vector<Interval> insert(vector<Interval> &intervals, Interval newInterval) { vector<Interval> result; if(intervals.size() == 0) { result.push_back(newInterval); return result; } int size = (int)intervals.size(); for(int i = 0; i < size; i++) { if(newInterval.end < intervals[i].start) { result.push_back(newInterval); newInterval.start = intervals[i].start; newInterval.end = intervals[i].end; } else if(newInterval.end <= intervals[i].end) { newInterval.end = intervals[i].end; if(newInterval.start > intervals[i].start) { newInterval.start = intervals[i].start; } } else { if(newInterval.start > intervals[i].end) { result.push_back(intervals[i]); } else if (newInterval.start > intervals[i].start) { newInterval.start = intervals[i].start; } } } result.push_back(newInterval); return result; }
0 0
- 31_leetcode_ Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- 30_leetcode_Length of Last Word
- 两数交换
- 利用扩展事件监控死锁-图形用户界面
- 南阳27 水池数目(DFS+BFS)
- C#委托与事件
- 31_leetcode_ Insert Interval
- Python 多线程 Event
- android 反编译工具汇总
- NYOJ-122 Triangular Sums
- UVa 340 Master-Mind Hints
- 32_leetcode_Merge Intervals
- 线性表之链式存储结构
- 编程学C#(5):构建蜂巢模拟系统
- .NET面试题目