/**
* Definition for an interval.
* struct Interval {
* int start;
* int end;
* Interval() : start(0), end(0) {}
* Interval(int s, int e) : start(s), end(e) {}
* };
*/
bool functor(const Interval &i,const Interval &j)
{
return (i.start<j.start);
}
class Solution {
public:
vector<Interval> merge(vector<Interval> &intervals) {
vector<Interval> ret;
if(intervals.empty()) return ret;
sort(intervals.begin(),intervals.end(),functor);
ret.push_back(intervals[0]);
for(auto i=1;i<intervals.size();i++)
{
if(intervals[i].start <= ret.back().end)
{
ret.back().end = max(ret.back().end,intervals[i].end);
}
else
{
ret.push_back(intervals[i]);
}
}
return ret;
}
};
Merge Intervals
最新推荐文章于 2024-01-15 13:29:37 发布