Leetcode:Merge Intervals

来源:互联网 发布:淘宝开店代销怎么做 编辑:程序博客网 时间:2024/06/05 23:00

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

bool cmp(const Interval &interval1, const Interval &interval2){    return interval1.start < interval2.start;}class Solution {public:    vector<Interval> merge(vector<Interval> &intervals) {        if(intervals.size() < 2)return intervals;        sort(intervals.begin(), intervals.end(), cmp);        vector<Interval> mergeIntervals;        mergeIntervals.push_back(intervals[0]);        for(int i = 1; i < intervals.size(); ++i){            Interval lastOne = mergeIntervals.back();            if(intervals[i].start > lastOne.end){                 mergeIntervals.push_back(intervals[i]);            }else if(intervals[i].end > lastOne.end){                 mergeIntervals.back().end = intervals[i].end;            }        }        return mergeIntervals;    }};




0 0