Merge Intervals
来源:互联网 发布:网络打印app 编辑:程序博客网 时间:2024/05/01 01:57
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]
.
/** * 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 comp(const Interval & a, const Interval & b) { return a.start < b.start; } vector<Interval> merge(vector<Interval>& intervals) { vector<Interval> ret; if(intervals.size() <=1) return intervals; sort(intervals.begin(),intervals.end(),comp); ret.push_back(intervals[0]); for(int i = 1;i<intervals.size();i++) { Interval preIn = ret.back(); Interval curIn = intervals[i]; //已经根据start排序了,所以curIn.start不可能小余preIn.start if(curIn.start <= preIn.end && curIn.end >= preIn.end) { preIn.end = curIn.end; ret.pop_back(); ret.push_back(preIn); } else if(curIn.start > preIn.end) { ret.push_back(curIn); } } return ret; }};
0 0
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- merge intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Myeclipse将控制台日志输出到文件中和显示更多的日志信息
- thinkphp中如何导入js和css文件
- 简述 IOS中的LazyLoad思想
- android 通知栏背景颜色跟随app导航栏背景颜色变化而变化
- LMAX Disruptor——一个高性能、低延迟且简单的框架
- Merge Intervals
- 浅谈MVP In Android
- python元组、列表的异同总结
- fatal error C1083: 无法打开预编译头文件:“Debug\opencv.pch”: No such file or directory
- 各种排序算法的分析及java实现
- gdb调试使用frame i命令
- Codeforces Round #309 (Div. 1) A B C
- Linux的sleep()和usleep()的使用和区别
- Servlet中初始化参数和上下文参数的配置