56. 合并区间
思路
从题目中得出,上一个区间的右边界 与当前区间的左边界 比较:(前提为左边界有序)
- ,说明区间产生交集,那么此时将 更新成 。
- ,说明没有交集,故将当前的区间加入到答案中。
代码
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
vector<vector<int>> res;
if (intervals.size() < 1) {
return res;
}
sort(intervals.begin(), intervals.end());
int st = intervals[0][0], ed = intervals[0][1];
for (int i = 1 ; i < intervals.size(); i++) {
vector<int> v;
if (ed >= intervals[i][0]) {
ed = max(ed, intervals[i][1]);
} else {
res.push_back({st, ed});
st = intervals[i][0];
ed = intervals[i][1];
}
}
res.push_back({st, ed});
return res;
}
};