LeetCode-Merge Intervals

第一眼看上去,思路可以和Merge Intervals 一样,将newInterval合并到intervals之后,进行排序,然后输出。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public:
vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
intervals.push_back(newInterval);
if(intervals.size()<=1) return intervals;
sort(intervals.begin(),intervals.end(),[](vector<int> &a, vector<int> &b)->bool{
return a[0]<b[0];
});
vector<vector<int>> result;
result.push_back(intervals[0]);
for(int i=1;i<intervals.size();++i){
if(result.back()[1]>=intervals[i][0]){
result.back()[1]=max(result.back()[1],intervals[i][1]);
}else{
result.push_back(intervals[i]);
}
}
return result;
}
};