代码:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
class Solution {
public int[][] merge(int[][] intervals) {
//以区间左侧开头排序
int line = intervals.length;
int row = intervals[0].length;
Arrays.sort(intervals,(o1,o2)->(o1[0]-o2[0]));
List list = new ArrayList();
for(int i=0;i
if(list.size()==0 || intervals[i][0]>list.get(list.size()-1)[1]){
list.add(new int[]{intervals[i][0],intervals[i][1]});
}else if(intervals[i][0]<=list.get(list.size()-1)[1]){
int[] temp = list.get(list.size()-1);
list.remove(list.size()-1);
list.add(new int[]{temp[0],Math.max(intervals[i][1],temp[1])});
}
}
return list.toArray(new int[list.size()][2]);
}
}



