Insert Interval
2015-10-02 05:57
387 查看
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
Example 2:
Given
This is because the new interval
Runtime: 588ms
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].
Runtime: 588ms
/** * 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> result; if(intervals.empty()){ result.push_back(newInterval); return result; } int i = 0; int n = intervals.size(); for(; i < n; i++){ if(newInterval.end < intervals[i].start){ //result.push_back(newInterval); break; } else if(newInterval.start > intervals[i].end){ result.push_back(intervals[i]); continue; } else{ newInterval.start = min(newInterval.start, intervals[i].start); newInterval.end = max(newInterval.end, intervals[i].end); } } result.push_back(newInterval); for(; i < intervals.size(); i++) result.push_back(intervals[i]); return result; } };
相关文章推荐
- Android Api Demos登顶之路(八十五)Graphics-->PurgeableBitmap
- Shortest Palindrome
- gcc与g++的区别
- *LeetCode-Longest Palindromic Substring
- 2015-2016-1 《移动平台应用开发实践》学生博客列表
- spring的配置模式与注解模式基础
- [汇编语言]debug中用r命令修改cs、ip,并不能影响a命令的代码起始写入地址?
- HtmlUnit模拟登录网站时注意事项
- [Leetcode]Letter Combinations of a Phone Number My Submissions Question Solution
- LeetCode-Simplify Path
- [LeetCode#51]N-Queens
- Log4j2使用案例
- POJ 2676 解题报告
- Wildcard matching
- my frist linux
- {Effective Java} Chap 5 Generics
- javaCode的数组2
- Service API Guides
- [Reactive Programming] Using an event stream of double clicks -- buffer()
- 一起来做chrome扩展《使用代理proxy》