class Solution { public int[][] merge(int[][] intervals) { // 先按照区间起始位置排序 Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0]); // 遍历区间 int[][] res = new int[intervals.length][2]; int idx = -1; for (int[] i
时间: 2023-12-20 21:04:54 浏览: 65
Java Arrays.sort和Collections.sort排序实现原理解析
5星 · 资源好评率100%
n : intervals) {
// 如果结果数组为空,或者当前区间的起始位置大于结果数组中最后区间的结束位置,
// 则可以直接将当前区间加入结果数组
if (idx == -1 || i[0] > res[idx][1]) {
res[++idx] = i;
} else {
// 反之将当前区间合并至结果数组的最后区间
res[idx][1] = Math.max(res[idx][1], i[1]);
}
}
return Arrays.copyOf(res, idx + 1);
}
}
这段代码是用来合并重叠的区间的,你有什么问题需要我帮助吗?
阅读全文