LeetCode57——Insert Interval

来源:互联网 发布:淘宝开店小店简述 编辑:程序博客网 时间:2024/05/14 00:39

LeetCode57——Insert Interval

跟上一题LeetCode56——Merge Interval 类似。

这里我们先插入新的元素再对新的序列进行合并操作。

代码:

class Solution {private:bool canMerge(Interval &a, Interval &b){if (a.end >= b.start&&a.end <= b.end){a.end = b.end;return true;}else if (a.end > b.end){return true;}return false;}public:vector<Interval> insert(vector<Interval>& intervals, Interval newInterval) {vector<Interval>result;int index = 0;while (index<intervals.size()&&intervals[index].start < newInterval.start)index++;//插入位置的索引intervals.insert(intervals.begin() + index, newInterval);int i = 0;int j;while (i < intervals.size()){j = i + 1;while (j<intervals.size() && canMerge(intervals[i], intervals[j]))j++;result.push_back(intervals[i]);i = j;}return result;}};


0 0
原创粉丝点击