[leetcode] Merge Intervals
来源:互联网 发布:天下3女号捏脸数据 编辑:程序博客网 时间:2024/06/05 07:41
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]
.
思路:先按start对intervals进行排序,然后逐个合并
代码:
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */bool cmp(Interval m1,Interval m2){ return m1.start<m2.start;}class Solution {public: vector<Interval> merge(vector<Interval> &intervals) { int len=intervals.size(); vector<Interval> res; if(len==0) return res; if(len==1) return intervals; sort(intervals.begin(),intervals.end(),cmp); for(int i=1;i<len;i++){ if(intervals[i].start>intervals[i-1].end){ res.push_back(intervals[i-1]); } if(intervals[i].start<=intervals[i-1].end){ if(intervals[i-1].end>intervals[i].end){ intervals[i].start=intervals[i-1].start; intervals[i].end=intervals[i-1].end; } else{ intervals[i].start=intervals[i-1].start; } } } res.push_back(intervals[len-1]); return res; }};
0 0
- LeetCode: Merge Intervals
- LeetCode Merge Intervals
- LeetCode: Merge Intervals
- [Leetcode] Merge Intervals
- leetcode 28: Merge Intervals
- Leetcode: Merge Intervals
- [LeetCode] Merge Intervals
- [LeetCode]Merge Intervals
- leetcode merge intervals
- [leetcode]Merge Intervals
- LeetCode-Merge Intervals
- [leetcode] Merge Intervals
- LeetCode - Merge Intervals
- 【leetcode】Merge Intervals
- leetcode Merge Intervals
- LeetCode Merge Intervals
- [LeetCode] Merge Intervals
- LeetCode | Merge Intervals
- 拓扑排序
- Angular学习(七)——关于Javascript的一些建议
- poco中的进程使用的纠结
- C++11:Lambda函数(匿名函数)
- 路径问题
- [leetcode] Merge Intervals
- poj1655树形dp
- python字符串格式化中的百分号的转义字符是双写百分号
- protel进行PCB布局是光标离元器件较远的解决方案
- SAT分离轴--判断两个形状是否相交给出MTV
- 阿里云centos6.5为系统添加资源库
- 1408030926-hd-Lowest Bit
- 黑马程序员——面向对象
- 如何写一个发微博的页面(包括插入图片,插入表情,插入话题,插入Location,代码全) (三)