56. 合并区间
排序后,进行遍历
- 当result为空时,直接将当前的区间添加
当当前区间和result最后一个区间重叠时,将result的最后一个区间的右边界变为
max(result.back()[1] ,intervals[i][1])
当当前区间和result最后一个区间没有重叠时,直接将当前区间添加
class Solution {public:static bool cmp(vector<int>& a,vector<int>& b){return a[0]<b[0];}vector<vector<int>> merge(vector<vector<int>>& intervals) {sort(intervals.begin(),intervals.end(),cmp);vector<vector<int>> result;for(int i=0;i<intervals.size();i++){if(result.size()==0 || intervals[i][0]>result.back()[1]){result.push_back({intervals[i][0],intervals[i][1]});}elseresult.back()[1] = max(result.back()[1] ,intervals[i][1]);}return result;}};
