56. Merge Intervals
来源:互联网 发布:惠州网络推广公司 编辑:程序博客网 时间:2024/06/08 16:13
/*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].思路: 先按照集合中个区间的左边界的大小排序,升序; 若 i<j,i、j为第几个区间,则i.start<=j.start 若 i.end >= j.start 则合并为[i.start,j.end]若 i.end < j.start 则不合并,把区间添加到集合中重复以上步骤*//** * 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(Interval x,Interval y){return x.start < y.start || (x.start==y.start && x.end < y.end);} vector<Interval> merge(vector<Interval>& intervals) { vector<Interval> res;int n= intervals.size();if(n==0) return res;sort(intervals.begin(),intervals.end(),Solution::comp);int start = intervals[0].start,end= intervals[0].end;for(int i=1;i<n;i++){if(end >= intervals[i].start)//区间重合end = end < intervals[i].end ? intervals[i].end : end;else{res.push_back(Interval(start,end));//记录区间start=intervals[i].start;end=intervals[i].end;}}res.push_back(Interval(start,end));//记录最后一个区间return res; }};
阅读全文
0 0
- [LeetCode]56.Merge Intervals
- 56. Merge Intervals Leetcode
- LeetCode --- 56. Merge Intervals
- LeetCode 56.Merge Intervals
- [Leetcode] 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 【leetcode】56. Merge Intervals
- 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 56. Merge Intervals
- **LeetCode 56. Merge Intervals
- LeetCode 56. Merge Intervals
- 56. Merge Intervals
- leetcode 56. Merge Intervals
- 【LeetCode】56. Merge Intervals
- LeetCode 56. Merge Intervals
- 56. Merge Intervals
- 【leetcode】56. Merge Intervals
- 从零开始学_JavaScript_系列(54)——Generator函数(2)简单应用、throw和return
- 8-21 DAIRY
- java面试题和答案(2)
- DeepLearning(花书)第二章主要内容(7-12节)
- vs qt 环境配置
- 56. Merge Intervals
- 图像分割结果的评估
- hdu 6138 Fleet of the Eternal Throne(AC自动机)
- 关于zookeeper第三方客户端zkclient的使用说明
- hdu 6118 度度熊的交易计划【费用流模板题】
- 【JavaScript 基础】01 基础语法
- 第十九天
- C 头文件
- 跟上 Java 8 – 你忽略了的新特性