思路:
class Solution {
public int[][] merge(int[][] intervals) {
Arrays.sort(intervals, new Comparator<int[]>(){
public int compare(int[] a1, int[] a2)
{
return a1[0]-a2[0];//区间按照左端点的大小排序
}
});
ArrayList<int[]> merged = new ArrayList<>();
merged.add(intervals[0]);
for(int i=1;i<intervals.length;i++)
{
if(intervals[i][0]>merged.get(merged.size()-1)[1])
merged.add(intervals[i]);
else{
merged.get(merged.size()-1)[1] = Math.max(intervals[i][1],merged.get(merged.size()-1)[1]);
}
}
return merged.toArray(new int[merged.size()][]);
}
}