LeetCode56:合并区间

    技术2022-07-17  85

    class Solution { public int[][] merge(int[][] intervals) { //1.按照区间的起始位置排序 Arrays.sort(intervals,(v1,v2)->v1[0]-v2[0]); //2.创建一个结果数组 int[][] res = new int[intervals.length][2]; int idx = -1; for(int[] interval : intervals){ if(idx==-1 || interval[0]>res[idx][1]){ //如果结果数组为空或者当前区间的起止位置>结果数组的截至位置,则不合并,直接将当前数组计入结果数组 res[++idx]=interval; } //将当前区间合并到结果数组的最后区间 else{ res[idx][1]=Math.max(interval[1],res[idx][1]); } } return Arrays.copyOf(res,idx+1); } }

     

    Processed: 0.011, SQL: 10