题目描述:
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18]
,
return [1,6],[8,10],[15,18]
.
class Solution {
public:
vector<Interval> merge(vector<Interval>& intervals) {
if(intervals.empty()) return intervals;
for(int i=0;i<intervals.size();i++)
{
int current_min_index=i;
int current_min=intervals[i].start;
for(int j=i;j<intervals.size();j++)
{
if(current_min>intervals[j].start)
{
current_min=intervals[j].start;
current_min_index=j;
}
}
Interval temp=intervals[i];
intervals[i]=intervals[current_min_index];
intervals[current_min_index]=temp;
}
vector<Interval> result;
result.push_back(intervals[0]);
for(int i=0;i<intervals.size();i++)
{
int n=result.size()-1;
if(intervals[i].start<=result[n].end)
result[n].end=max(result[n].end,intervals[i].end);
else result.push_back(intervals[i]);
}
return result;
}
};