美文网首页
区间合并

区间合并

作者: luckXiaofei | 来源:发表于2023-03-21 16:20 被阅读0次

    @Test
    public void test2() {
        List<String[]> listIn = new ArrayList<>();
        String[] a = {"20230101", "20230105"};
        String[] b = {"20230104", "20230108"};
        String[] c = {"20230111", "20230120"};
        listIn.add(c);
        listIn.add(a);
        listIn.add(b);
        List<String[]> fib = merge(listIn);
        for (String[] item : fib) {
            log.info(Arrays.stream(item).collect(Collectors.joining(",")));
        }
    }

    /**
     * 区间合并
     *
     * @param listIn
     * @return
     */
    public static List<String[]> merge(List<String[]> listIn) {
        Collections.sort(listIn, (o1, o2) -> o1[0].compareTo(o2[0]));
        List<String[]> listOut = new ArrayList<>();
        String begin = "";
        String end = "";
        for (int i = 0, size = listIn.size(); i < size; i++) {
            String[] tmp = listIn.get(i);
            if (i == 0) {
                begin = tmp[0];
                end = tmp[1];
                continue;
            }
            if (tmp[0].compareTo(end) <= 0 && tmp[1].compareTo(end) > 0) {
                end = tmp[1];
            } else {
                String[] str = {begin, end};
                listOut.add(str);
                begin = tmp[0];
                end = tmp[1];
            }
            if (i == (size - 1)) {
                String[] str = {begin, end};
                listOut.add(str);
            }
        }
        return listOut;
    }

相关文章

  • 区间合并算法

    0X00 区间合并 803. 区间合并 57. 插入区间

  • LeetCode 56 [Merge Intervals]

    原题 给出若干闭合区间,合并所有重叠的部分。 样例给出的区间列表 => 合并后的区间列表: 解题思路 首先,把区间...

  • 2018-12-26

    问题列表 合并两个有序链表 合并K个排序链表 合并区间 插入区间 问题与反馈 总结与收获 多个有序链表的合并,类似...

  • 命令lines

    HBQJ 【合并区间】可以选取两个相邻的尺寸区间进行合并,也可以选择间隔几个区间的两个区间以将两个区间及其中间的所...

  • LeetCode 56 合并区间

    56. 合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,...

  • LeetCode: 合并区间

    合并区间 题目叙述: 给出一个区间的集合,请合并所有重叠的区间。 示例: 示例1:输入: [[1,3],[2,6]...

  • 合并区间

    给出一个区间的集合,请合并所有重叠的区间。 思路: 将intervals按每一个元素的start进行升序排列。 此...

  • 合并区间

    描述:给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[1...

  • 合并区间

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merg...

  • 合并区间

    题目描述:给出一个区间的集合,请合并所有重叠的区间 示例:输入: [[1,3],[2,6],[8,10],[15,...

网友评论

      本文标题:区间合并

      本文链接:https://www.haomeiwen.com/subject/rrpmrdtx.html