一、题目
二、思路
三、代码
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
vector<int>res;
vector<vector<int>>OutPut;
if(intervals.empty())
{
return OutPut;
}
sort(intervals.begin(),intervals.end());
int size=intervals.size();
OutPut.emplace_back(intervals[0]);
for(int i=1;i<size;++i)
{
if(intervals[i][0]>OutPut.back()[1])
{
//头部大于之前的尾部,就插入新的区间
OutPut.emplace_back(intervals[i]);
}
else
{
//头部小于之前的尾部,就把之前的尾部更改,取最大值
OutPut.back()[1]=max(OutPut.back()[1],intervals[i][1]);
}
}
return OutPut;
}
};