package com.interview.books.leetcodeoj;
import com.interview.leetcode.utils.Interval;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* Created_By: stefanie
* Date: 14-12-22
* Time: 下午7:25
*/
public class LOJ56_MergeInterval {
public List<Interval> merge(List<Interval> intervals) {
if(intervals.size() < 2) return intervals;
Comparator<Interval> comparator = new Comparator<Interval>(){
public int compare(Interval o1, Interval o2){
return o1.start - o2.start;
}
};
Collections.sort(intervals, comparator);
List<Interval> merged = new ArrayList();
Interval current = intervals.get(0);
for(int i = 1; i < intervals.size(); i++){
Interval interval = intervals.get(i);
if(interval.start <= current.end){
current.end = Math.max(current.end, interval.end);
} else {
merged.add(current);
current = interval;
}
}
merged.add(current);
return merged;
}
}