码迷,mamicode.com
首页 > 其他好文 > 详细

Merge Intervals 运行比较快

时间:2016-05-05 17:41:31      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

class Solution {
public:
static bool cmp(Interval &a,Interval &b)
{
    return a.start<b.start;
}
    vector<Interval> merge(vector<Interval>& intervals) {
        vector<Interval> res;
        if(intervals.size()==0)return res;
        sort(intervals.begin(),intervals.end(),cmp);
        int i=1;
        int first=0;
        int j=first;
        Interval tmpin;
        while(i<intervals.size()){
            //第一种情况比如:[1,2] [3,4]
        if(intervals[i].start>intervals[j].end){tmpin.start=intervals[first].start;tmpin.end=intervals[j].end;res.push_back(tmpin);
            first=i;
            j=first;
            i=i+1;
        }
        
        //第二种  比如: [2,6] [3,7]
        else if(intervals[i].start<=intervals[j].end&&intervals[i].end>intervals[j].end)
        {
            i++;
            j=i-1;
        }
        //第三种  比如: [2,6] [1,3] 
        else
        {
           i++; 
        }
        
        }
        if(intervals[j].end>=intervals[i-1].end) {tmpin.start=intervals[first].start;tmpin.end=intervals[j].end;res.push_back(tmpin);}
        else{tmpin.start=intervals[first].start;tmpin.end=intervals[i-1].end;res.push_back(tmpin);}
        return res;
    }
};

 

Merge Intervals 运行比较快

标签:

原文地址:http://www.cnblogs.com/coderht/p/5462466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!