解题思路:
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
//当输入为0的长度时
if (intervals.size() == 0) {
return {};
}
//排序,规定使用这种按start升序排列
sort(intervals.begin(), intervals.end());
vector<vector<int>> merged;
//vector<vector<int>>intervals中的行数 即是区间个数
for (int i = 0; i < intervals.size(); ++i) {
//
int L = intervals[i][0], R = intervals[i][1];
if (!merged.size() || merged.back()[1] < L) {// merged.back()[1] < L 表示区间断链了
merged.push_back({L, R});//插入一个新的区间vector<int>
}
else {
merged.back()[1] = max(merged.back()[1], R);//merged.back()[1]表示merged里面最后一个vector<int>的第1个元素(0起始)
}
}
return merged;
}
};