1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class Solution { public: vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) { vector<vector<int>> res; int i = 0, n = intervals.size(); for (; i < n && intervals[i][0] < newInterval[0]; ++i) { res.push_back(intervals[i]); } if (!res.empty() && newInterval[0] <= res.back()[1]) { res.back()[1] = max(res.back()[1], newInterval[1]); } else { res.push_back(newInterval); } for (; i < n; ++i) { if (intervals[i][0] <= res.back()[1]) { res.back()[1] = max(res.back()[1], intervals[i][1]); } else { res.push_back(intervals[i]); } } return res; } };
|