LeetCode 56 - Merge Intervals
2016-03-08 13:17
295 查看
Merge Intervals
Given a collection of intervals, merge all overlapping intervals.For example,
Given
[1,3],[2,6],[8,10],[15,18],
return
[1,6],[8,10],[15,18].
My Code
/*** 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:
bool static comp(const Interval& a, const Interval& b)
{
return a.start < b.start;
}
vector<Interval> merge(vector<Interval>& intervals) {
int n = intervals.size();
if (n <= 1)
return intervals;
sort(intervals.begin(), intervals.end(), comp);
vector<Interval> merged;
Interval cur = intervals[0];
for (int i = 1; i < intervals.size(); i++)
if (intervals[i].start >= cur.start && intervals[i].start <= cur.end)
cur.end = max(cur.end, intervals[i].end);
else
{
merged.push_back(cur);
cur = intervals[i];
}
merged.push_back(cur);
return merged;
}
};Runtime: 600 ms
相关文章推荐
- 密码学相关概念总结
- ReactiveCocoa入门教程——第一部分
- igmpproxy源码学习——igmpProxyInit()
- 获取天气预报信息
- java多线程-cpu内存占用-定位分析
- Android 炫酷旋转效果
- linux下redis安装
- awk 用法简单接触
- Linux基础--grep与正则表达式
- SharedPreferences详解
- 配置虚拟主机
- [疯狂Java]AWT:绘图、动画
- Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法
- 作业三:LINUX内核的启动过程
- [置顶] 利用Nginx 代理输出缩放图片
- java反射之获取Class对象
- lightOJ 1186 Incredible Chess
- Masonry简单使用
- 安卓Service组件使用系列5:service和activity之间的数据交互
- JAVA timer.schedule用法