import java.util.*;
/*
* public class Interval {
* int start;
* int end;
* public Interval(int start, int end) {
* this.start = start;
* this.end = end;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param intervals Interval类ArrayList
* @return Interval类ArrayList
*/
public ArrayList<Interval> merge (ArrayList<Interval> intervals) {
// write code here
ArrayList<Interval> list = new ArrayList<>();
if (intervals.size() <= 1) return intervals;
Collections.sort(intervals, new Comparator<Interval>() {
public int compare(Interval a, Interval b) {
return a.start - b.start;
}
});
int start = intervals.get(0).start;
int end = intervals.get(0).end;
for (int i=1; i<intervals.size(); i++) {
Interval it = intervals.get(i);
if (it.start > end) {
list.add(new Interval(start, end));
start = it.start;
end = it.end;
} else {
if (it.end >= end) {
end = it.end;
}
}
}
list.add(new Interval(start, end));
return list;
}
}