//给定线段,合并重叠线段
bool cmp(const Interval &m,const Interval &n) {
return m.start < n.start;
}
class Solution {
public:
vector<Interval> merge(vector<Interval> &intervals) {
vector <Interval> result;
if (intervals.size() > 0){
sort(intervals.begin(),intervals.end(),cmp);
int len = intervals.size();
int i;
for (i = 0; i < len - 1; i++){
if (intervals[i + 1].start <= intervals[i].end ){
intervals[i+1].start = intervals[i].start;
if (intervals[i+1].end > intervals[i].end){
intervals[i].end = intervals[i+1].end;
}
else{
intervals[i+1].end = intervals[i].end;
}
}
else
result.push_back(intervals[i]);
}
result.push_back(intervals[i]);
}
return result;
}
};