leetcode56-合并区间

题目描述

给出一个区间的集合,请合并所有重叠的区间。

Java代码

public int[][] merge(int[][] intervals) {
        LinkedList<int[]> list = new LinkedList<>();
        Arrays.sort(intervals, Comparator.comparingInt(x->x[0]));
        for(int i=0;i<intervals.length;i++){
            if(list.size()==0 || list.getLast()[1] < intervals[i][0]){
                list.add(intervals[i]);
            }else{
                list.getLast()[1] = Math.max(list.getLast()[1],intervals[i][1]);
            }
        }
        int[][] res = new int[list.size()][2];
        int index = 0;
        while(!list.isEmpty()){
            res[index++] = list.removeFirst();
        }
        return res;
    }

你可能感兴趣的:(区间)