class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
//这题跟那个射气球的很像,就是重复区间的处理
//定义结果数组
vector<vector<int>>result;
if(intervals.size()==0)return result;
//按照左区间排序
sort(intervals.begin(),intervals.end(),[](vector<int>&a,vector<int>&b){return a[0]<b[0];});
//先把第一个放入结果数组
result.push_back(intervals[0]);
for(int i=1;i<intervals.size();i++){
if(result.back()[1]>=intervals[i][0]){
//有重叠,更新
result.back()[1]=max(result.back()[1],intervals[i][1]);
}
else{
//说明没有重叠,没重叠,直接放入结果数组
result.push_back(intervals[i]);
}
}
return result;
}
};
leetcdoe 56 合并区间
最新推荐文章于 2024-11-13 11:37:20 发布