57. Insert Interval

Solution (C++):

vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
    vector<vector<int>> res;
    int index = 0, m = intervals.size();
    
    while (index < m && intervals[index].back() < newInterval.front()) {
        res.push_back(intervals[index++]);
    }
    while (index < m && intervals[index].front() <= newInterval.back()) {
        newInterval[0] = min(intervals[index][0], newInterval[0]);
        newInterval[1] = max(intervals[index][1], newInterval[1]);
        index++;
    }
    res.push_back(newInterval);
    while (index < m) {
        res.push_back(intervals[index++]);
    }
    return res;
}
posted @ 2020-02-11 19:03  littledy  阅读(70)  评论(0编辑  收藏  举报