以數(shù)組 intervals 表示若干個(gè)區(qū)間的集合世吨,其中單個(gè)區(qū)間為 intervals[i] = [starti, endi] 澡刹。請(qǐng)你合并所有重疊的區(qū)間,并返回一個(gè)不重疊的區(qū)間數(shù)組耘婚,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間罢浇。
import java.util.*;
class Solution {
public int[][] merge(int[][] intervals) {
if (intervals == null) {
return intervals;
}
// 對(duì) intervals 的第一個(gè)值進(jìn)行排序
Arrays.sort(intervals, Comparator.comparingInt(ints -> ints[0]));
ArrayList<int[]> temp = new ArrayList<>();
int[] item = intervals[0];
for (int i = 1; i < intervals.length; i++) {
if (item[1] >= intervals[i][0]) {
item[1] = Math.max(item[1], intervals[i][1]);
} else {
temp.add(item);
item = intervals[i];
}
}
temp.add(item);
return temp.toArray(new int[temp.size()][2]);
}
}