当前位置: 代码迷 >> 综合 >> 56. 合并区间-数组排序比较合并
  详细解决方案

56. 合并区间-数组排序比较合并

热度:70   发布时间:2024-02-01 13:13:53.0
//给出一个区间的集合,请合并所有重叠的区间。 
//
// 示例 1: 
//
// 输入: [[1,3],[2,6],[8,10],[15,18]]
//输出: [[1,6],[8,10],[15,18]]
//解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
// 
//
// 示例 2: 
//
// 输入: [[1,4],[4,5]]
//输出: [[1,5]]
//解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。 
// Related Topics 排序 数组import java.util.Arrays;//leetcode submit region begin(Prohibit modification and deletion)
class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals,(v1,v2)->v1[0]-v2[0]);int len=intervals.length;int[][] res=new int[len][2];int index=-1;for(int[] interval :intervals){//++index 下标有问题if(index==-1 || res[index][1] < interval[0])  res[++index]=interval;else res[index][1]=Math.max(interval[1],res[index][1]);}//注意需要切割一下return Arrays.copyOf(res,index+1);}
}
//leetcode submit region end(Prohibit modification and deletion)

 

  相关解决方案