1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class Solution { public: typedef long long ll; typedef pair<ll,ll> pll; static bool cmp(const vector<int> &a,const vector<int> &b){ return a[0]<b[0]; } vector<vector<int>> merge(vector<vector<int>>& intervals) { sort(intervals.begin(),intervals.end(),cmp); ll N=intervals.size(); vector<vector<int>> res; for(int i=0;i<N;++i){ int l=intervals[i][0],r=intervals[i][1]; if(res.empty() || res.back()[1]<l){ res.push_back({l,r}); }else{ res.back()[1]=max(res.back()[1],r); } } return res; }
};
|