1、问题
2、算法标签
- 排序+双指针算法
3、通过代码
排序+双指针算法实现代码
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
vector<vector<int>> ans;
if(intervals.size()<2){
return intervals;
}
sort(intervals.begin(),intervals.end());
int i=0,l=0,r=0;
for(i=1;i<intervals.size();i++){
if(intervals[i][0]>intervals[r][1]){
ans.push_back({intervals[l][0],intervals[r][1]});
l=r=i;
}
else{
if(intervals[i][1]>=intervals[r][1]){
r=i;
}
}
}
ans.push_back({intervals[l][0],intervals[r][1]});
return ans;
}
};