8、区间合并

区间合并:

代码实现
public int[][] merge(int[][] intervals) {
        // 特殊情况处理
        if (intervals == null || intervals.length <= 1) {
            return intervals;
        }

        Arrays.sort(intervals, (o1, o2) -> o1[0] - o2[0]);
        List<int[]> list = new ArrayList<>();

        int[] pre = intervals[0];
        for (int i = 0; i < intervals.length; i++) {
            if (pre[1] >= intervals[i][0]) {
                pre[1] = Math.max(pre[1], intervals[i][1]);
            } else {
                list.add(pre);
                pre = intervals[i];
            }
        }

        list.add(pre);

        return list.toArray(new int[list.size()][2]);
    }
上一篇:02在Windows Server 2008R2上面将客户端加入域


下一篇:设计模式之禅(五):结构型之代理模式,静态代理,JDK动态代理,cglib以及源码分析,手打2w字