地址
https://leetcode-cn.com/problems/merge-intervals/
描述
思想
vector支持排序且以第一个元素作为第一关键字,第二个元素作为第二关键字
代码
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& a) {
vector<vector<int>> ans;
//左端点进行排序
sort(a.begin(),a.end());
if(a.empty()) return ans;
int l=a[0][0],r=a[0][1];
for(int i=1;i<a.size();i++){
//有交集怎么办
if(a[i][0]<=r){
//右端点可能会变
r=max(r,a[i][1]);
}
else {
ans.push_back({l,r});
l=a[i][0],r=a[i][1];
}
}
//加入最后一个区间
ans.push_back({l,r});
return ans;
}
};