57. Insert Interval
2016-08-27 21:57
141 查看
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).
You may assume that the intervals were initially sorted according to their start times.
Example 1:
Given intervals
Example 2:
Given
This is because the new interval
已知一个区间集合(已经排好序且不相交),求并入一个新区间后得到的区间集合。新建一个vector对象用来保存结果,然后与新区间不相交的直接插入,相交的并成一个区间插入。
代码:
class Solution
{
public:
vector<Interval> insert(vector<Interval>& intervals, Interval newInterval)
{
vector<Interval>ret;
vector<Interval>::iterator it;
int s=newInterval.start,e=newInterval.end;
for(it=intervals.begin();it!=intervals.end();it++)
{
if((*it).end<newInterval.start)
{
ret.push_back(*it);
}
else
{
s=min(s,(*it).start);
break;
}
}
for(;it!=intervals.end();it++)
{
if((*it).start>newInterval.end)
{
break;
}
e=max(e,(*it).end);
}
ret.push_back(Interval(s,e));
for(;it!=intervals.end();it++)
{
ret.push_back(*it);
}
return ret;
}
};
You may assume that the intervals were initially sorted according to their start times.
Example 1:
Given intervals
[1,3],[6,9], insert and merge
[2,5]in as
[1,5],[6,9].
Example 2:
Given
[1,2],[3,5],[6,7],[8,10],[12,16], insert and merge
[4,9]in as
[1,2],[3,10],[12,16].
This is because the new interval
[4,9]overlaps with
[3,5],[6,7],[8,10].
已知一个区间集合(已经排好序且不相交),求并入一个新区间后得到的区间集合。新建一个vector对象用来保存结果,然后与新区间不相交的直接插入,相交的并成一个区间插入。
代码:
class Solution
{
public:
vector<Interval> insert(vector<Interval>& intervals, Interval newInterval)
{
vector<Interval>ret;
vector<Interval>::iterator it;
int s=newInterval.start,e=newInterval.end;
for(it=intervals.begin();it!=intervals.end();it++)
{
if((*it).end<newInterval.start)
{
ret.push_back(*it);
}
else
{
s=min(s,(*it).start);
break;
}
}
for(;it!=intervals.end();it++)
{
if((*it).start>newInterval.end)
{
break;
}
e=max(e,(*it).end);
}
ret.push_back(Interval(s,e));
for(;it!=intervals.end();it++)
{
ret.push_back(*it);
}
return ret;
}
};
相关文章推荐
- 56-Merge Intervals && 57-Insert Interval
- Leet Code 57 Insert Interval - 插入区间 - Java
- 57. Insert Interval
- 57. Insert Interval
- Leetcode-Array-57(insert Interval)
- leetcode-57 insert interval
- LeetCode 57 - Insert Interval
- 57. Insert Interval
- [Java]LeetCode57 Insert Interval
- 57. Insert Interval
- 57. Insert Interval
- [Leetcode 57, Hard] Insert Interval
- LeetCode57——Insert Interval
- 57. Insert Interval
- leetcode_question_57 Insert Interval
- [LeetCode]57 Insert Interval
- FTPrep, 57 Insert interval
- 57. Insert Interval
- 57. Insert Interval
- [leetcode 57] Insert Interval (待修改)