<div>#include <vector>
#include <algorithm>
std::vector<std::vector<int>> mergeIntervals(std::vector<std::vector<int>>& intervals) {
if (intervals.empty()) return {};
std::sort(intervals.begin(), intervals.end()); // 按区间起始位置排序
std::vector<std::vector<int>> merged;
for (const auto& interval : intervals) {
// 如果结果数组为空,或当前区间与结果数组最后一个区间不重叠,直接添加
if (merged.empty() || merged.back()[1] < interval[0]) {
merged.push_back(interval);
}
// 否则,合并当前区间与结果数组最后一个区间
else {
merged.back()[1] = std::max(merged.back()[1], interval[1]);
}
}
return merged;
}</div>