给出一个区间的集合,请合并所有重叠的区间。

示例 1:

输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

示例 2:

输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。

struct Interval {
int start;
int end;
Interval() : start(0), end(0) {}
Interval(int s, int e) : start(s), end(e) {}
}; bool cmp2(Interval x, Interval y)
{
if(x.start != y.start)
return x.start < y.start;
else
return x.end < y.end;
} class Solution {
public:
vector<Interval> merge(vector<Interval>& intervals)
{
vector<Interval> res;
int len = intervals.size();
if(len == 0)
return res;
sort(intervals.begin(), intervals.end(), cmp2);
res.push_back(intervals[0]);
int cnt = 0;
for(int i = 1; i < len; i++)
{
if(intervals[i].start <= res[cnt].end)
{
if(intervals[i].end <= res[cnt].end)
continue;
else
{
res[cnt].end = intervals[i].end;
}
}
else
{
res.push_back(intervals[i]);
cnt++;
}
}
return res;
}
};

最新文章

  1. linux 安装一些命令
  2. Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(一)
  3. 今天执行grep命令差点把服务器搞崩
  4. 20135316王剑桥 linux第十周课实验笔记
  5. Android TabHost TabWidget 去除黑线(底部下划线)
  6. 执行shell脚本提示“syntax error near unexpected token for((i=0;i&amp;lt;$length;i++))”
  7. Nginx之旅系列 - Nginx日志功能 PK Linux内核printk
  8. js 上下切换图片
  9. Windows Server 2016-重置目录还原模式密码
  10. 用javah 导出类的头文件, 常见的错误及正确的使用方法
  11. HFun.快速开发平台(五)=》自定义系统数据选择
  12. 修改pudb颜色
  13. 【leetcode-75】 颜色分类
  14. 咏南WEB APP开发框架
  15. Cortex-M3 跳转到指定bin执行
  16. Gym 101775J Straight Master(差分数组)题解
  17. Linux rcp命令详解
  18. 程序员必知的8大排序(四)-------归并排序,基数排序(java实现)
  19. hdu1165 规律递推
  20. Android的相关事件

热门文章

  1. koa2 安装环境
  2. iOS之CGPath的应用(二)
  3. 在 Node.js 中引入模块:你所需要知道的一切都在这里
  4. tar指令集合
  5. linux 备份最近一天的文件
  6. python-web-习题
  7. 廖雪峰Java10加密与安全-6数字证书-1数字证书
  8. 查找IE中网页的源代码
  9. 【BZOJ4161】Shlw loves matrixI
  10. naturalWidth、naturalHeight来获取图片的真实宽高