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].

这里先排序,然后在合并,只要想到了先排序,这道题就好做了,运用STL中sort函数,然后自己写个比较大小的重载函数,虽然之前看到过写比较大小的重载函数,但是没自己写过,这次是自己写,是一大进步,并且之前没用过vector中的back函数,这次也是第一次用,写这个代码学到点东西~~

/**
* 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:
static bool cmp(const Interval&a,const Interval&b)
{
return a.start<b.start;
}
vector<Interval> merge(vector<Interval>& intervals) {
if(intervals.size()==||intervals.size()==)
return intervals;
sort(intervals.begin(),intervals.end(),cmp);
vector<Interval> res;
res.push_back(intervals[]);
for(int i=;i<intervals.size();i++)
{
Interval temp=res.back();
if(temp.end>=intervals[i].start&&temp.end<intervals[i].end)
{
temp.end=intervals[i].end;
res.pop_back();
res.push_back(temp);
} else if(temp.end<intervals[i].start)
res.push_back(intervals[i]);
}
return res;
}
};

最新文章

  1. redis并发问题
  2. C# 扩展方法集
  3. (原创)Xilinx的ISE生成模块ngc网表文件
  4. linux ISO/IMG make
  5. Docker Dockerfile详解
  6. 传值 属性 block 单例 协议
  7. 【原】ios下比较完美的单例模式,已验证
  8. (剑指Offer)面试题28:字符串的排列
  9. 原生javascript效果:无缝滚动
  10. 【Ural1057】幂和的数量
  11. 黑马程序员——C语言开门片内存分析
  12. Hibernate(三)——框架中的关系映射
  13. App installation failed There was an internal API error.
  14. 新版本chrome浏览器控制台怎么设置成独立的窗口
  15. Sql语句varchar或nvarchar字段条件前加N的性能差异
  16. Django 2.0 新特性 抢先看!
  17. NOIP 2015运输计划
  18. python进程池multiprocessing.Pool和线程池multiprocessing.dummy.Pool实例
  19. js 数据类型具体分析
  20. 软件工程实践_Task1

热门文章

  1. 【图论】tarjan的离线LCA算法
  2. JavaScript随机数生成方法
  3. saltstack:multi-master configuration
  4. Bigbluebutton服务执行过程及相关配置文件
  5. vue-transition-animation
  6. svn稀疏目录--通过设置工作目录的深度(depth)实现目录树的部分签出
  7. Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)
  8. 【NOIP】提高组2016 愤怒的小鸟
  9. [Unity]多线程编程的一点心得
  10. sumblime快捷键