同合并一样,没什么新鲜的东西
vector<Interval> insert(vector<Interval> &intervals, Interval newInterval) {
vector<Interval>::iterator iter = intervals.begin();
while(iter!=intervals.end()&&iter->start<newInterval.start)
{
iter++;
}
intervals.insert(iter,1,newInterval);
vector<Interval> ret;
int len = intervals.size();
int startLast = intervals[0].start,endLast = intervals[0].end;
for (int i=1;i<len;i++)
{
if (intervals[i].start<=endLast)
{
endLast = intervals[i].end > endLast? intervals[i].end:endLast;
}
else
{
Interval temp(startLast,endLast);
ret.push_back(temp);
startLast = intervals[i].start;
endLast = intervals[i].end;
}
}
Interval temp2(startLast,endLast);
ret.push_back(temp2);
return ret;
}