Merge Intervals
vector<Interval> merge(vector<Interval> &intervals) { // Note: The Solution object is instantiated only once and is reused by each test case. vector<Interval> res; if(intervals.empty()) return res; sort(intervals.begin(),intervals.end(),cmp); res.push_back(intervals[0]); for(int i=1;i<intervals.size();i++) { Interval& t = res.back(); if(intervals[i].start<=t.end) t.end = max(t.end,intervals[i].end); else res.push_back(intervals[i]); } return res; }