56. Merge Intervals
class Solution {
private:
static bool compareInterval(Interval i1, Interval i2) {
return (i1.start < i2.start);
}
public:
vector<Interval> merge(vector<Interval>& intervals) {
vector<Interval> ret;
if(intervals.size() ==0){
return ret;
}
sort(intervals.begin(),intervals.end(),compareInterval);
ret.push_back(intervals[0]);
for(int i=1;i<intervals.size();++i) {
if(ret.back().end >= intervals[i].start){
ret.back().end = max(ret.back().end,intervals[i].end);
} else {
ret.push_back(intervals[i]);
}
}
return ret;
}
};