Merge Intervals
https://www.lintcode.com/problem/merge-intervals/description
簡單死了拉,我已經進化到秒殺階段!!
此題要注意的是 comparator 的寫法
public List<Interval> merge(List<Interval> intervals) {
List<Interval> result = new ArrayList<>();
if (intervals == null || intervals.size() == 0) {
return result;
}
Collections.sort(intervals, new Comparator<Interval>(){
public int compare(Interval i1, Interval i2) {
return i1.start - i2.start;
}
});
Interval comp = intervals.get(0);
for (int i=1; i<intervals.size(); i++) {
Interval temp = intervals.get(i);
if (temp.start <= comp.end) {
comp.end = Math.max(comp.end, temp.end);
} else {
result.add(comp);
comp = temp;
}
}
result.add(comp);
return result;
}