题目描述
思路分析
区间相关的贪心问题
区间左端点从小到大排序,遍历一边,维护一个l,r区间。维护区间和新区间没有交集则更新答案。
代码实现
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& a) {
vector<vector<int>> res;
if (a.empty()) return res;
sort(a.begin(), a.end());
int l = a[0][0], r = a[0][1];
for (int i = 1; i < a.size(); i ++ ) {
if (a[i][0] > r) {
res.push_back({l, r});
l = a[i][0], r = a[i][1];
} else r = max(r, a[i][1]);
}
res.push_back({l, r});
return res;
}
};