您的位置:首页 > 其它

[LeetCode] 57. Insert Interval

2016-07-26 16:34 274 查看
思路:

由于给的数据是没有重叠的区间, 所以就分三部分做就行了, 首先把比新区间小的区间都push到结果中, 然后再处理会和新区间merge的区间, 最后把剩下的都push到结果中即可.

vector<Interval> insert(vector<Interval>& intervals, Interval newInterval) {
vector<Interval> res;
int i = 0;
while (i < intervals.size() && intervals[i].end < newInterval.start)
res.push_back(intervals[i++]);
while (i < intervals.size() && intervals[i].start <= newInterval.end) {
newInterval.start = min(newInterval.start, intervals[i].start);
newInterval.end = max(newInterval.end, intervals[i].end);
i++;
}
res.push_back(newInterval);
while (i < intervals.size())
res.push_back(intervals[i++]);
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 合并