合并区间
关键在于每次比较保存最后结果的二维数组的最后一行的右元素与下一intervals元素的左右元素的大小。
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
vector<vector<int>> res;
int n = intervals.size();
sort(intervals.begin(),intervals.end());
int left,right;
for(int i=0;i<n;i++){
left = intervals[i][0];
right = intervals[i][1];
if(res.size()==0|| res.back()[1]<left){
res.push_back({left,right});
}
else{
res.back()[1] = max(right,res.back()[1]);
}
}
return res;
}
};
常用vector的函数:
用于查找最后一个元素,且可以对其进行修改。
res.back(); //数组最后一个元素