Java教程

8、区间合并

本文主要是介绍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]);
    }
这篇关于8、区间合并的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!