P56合并区间
这题像模拟题

非常简单的一道题目

一共有三种情况
- 下一个区间的起始小于等于当前的end , 只需要将end取现在和下一个区间的最大值就可以
- 下一个区间的起始大于当前的end , 需要将当前的{start , end} 加入结果数组,start,end赋值给下一个区间,处理下一个区间
- 最后处理完的区间,遍历结束之后加入结果数组
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
int n = intervals.size();
sort(intervals.begin() , intervals.end());
int start = intervals[0][0];
int end = intervals[0][1];
vector<vector<int>> ans;
for(int i=1;i<n;i++){
if(intervals[i][0] > end){
ans.push_back({start, end});
start = intervals[i][0];
end = intervals[i][1];
}
if(intervals[i][0] <= end){
end = max(end , intervals[i][1]);
}
}
ans.push_back({start , end});
return ans;
}
};
注意边界哦~ (❁´◡`❁)