/**
* Definition for an interval.
* struct Interval {
* int start;
* int end;
* Interval() : start(0), end(0) {}
* Interval(int s, int e) : start(s), end(e) {}
* };
*/
class Solution {
public:
static bool myfunction(Interval a,Interval b)
{
return a.start<b.start;
}
vector<Interval> merge(vector<Interval>& intervals) {
sort(intervals.begin(),intervals.end(),myfunction);
vector<Interval>::iterator it=intervals.begin();
while(it!=intervals.end())
{
vector<Interval>::iterator next=it+1;
if(next!=intervals.end())
{
if(it->end>=next->start)
{
Interval temp(min(it->start,next->start),max(it->end,next->end));
it=intervals.erase(it,next+1);
it=intervals.insert(it,temp);
}
else
it++;
}
else break;
}
return intervals;
}
};
56. Merge Intervals
最新推荐文章于 2020-08-16 21:31:30 发布