这个思想简单,需要重新定义一个数组,作记录,学到了几个新的知识点,推入数组,找上一个值的方法
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
if (intervals.size() == 0) {
return {};
}
int len = intervals.size();
sort(intervals.begin(),intervals.end());
vector<vector<int>> res;
res.push_back({intervals[0][0],intervals[0][1]});//先放入第一个进去
for(int i=1;i<len;i++){
int l=intervals[i][0],r=intervals[i][1];
if(res.back()[1]<l){//上一个的右值小于这个的左值
res.push_back({l,r});
}
else{
res.back()[1]=max(res.back()[1],r);//继续寻找下一个
}
}
return res;
}
};