`

LeetCode 56 - Merge Intervals

 
阅读更多

Given a collection of intervals, merge all overlapping intervals.

For example,
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].

/**
 * Definition for an interval.
 * public class Interval {
 *     int start;
 *     int end;
 *     Interval() { start = 0; end = 0; }
 *     Interval(int s, int e) { start = s; end = e; }
 * }
 */
public List<Interval> merge(List<Interval> intervals) {
    if(intervals == null || intervals.size() <= 1) {
        return intervals;
    }
    Collections.sort(intervals, new Comparator<Interval>(){
        public int compare(Interval o1, Interval o2) {
            return o1.start - o2.start;
        }
    });
    List<Interval> result = new ArrayList<>();
    Interval prev = intervals.get(0);
    for(int i=1; i<intervals.size(); i++) {
        Interval interval = intervals.get(i);
        if(prev.end >= interval.start) {
            Interval merged = new Interval(prev.start,Math.max(prev.end,interval.end));
            prev = merged;
        } else {
            result.add(prev);
            prev = interval;
        }
    }
    result.add(prev);
    return result;
}

 

分享到:
评论

相关推荐

    js-leetcode题解之56-merge-intervals.js

    js js_leetcode题解之56-merge-intervals.js

    C语言-leetcode题解之56-merge-intervals.c

    c是最好的编程语言 C语言_leetcode题解之56-merge-intervals

    java-leetcode题解之Merge Intervals.java

    java java_leetcode题解之Merge Intervals.java

    leetcode56-Leetcode56---Merge-Intervals:Leetcode56---合并间隔

    【标题】"LeetCode56 - 合并间隔"是一个编程挑战,主要涉及算法和数据结构的知识点。在这个问题中,任务是合并一系列非重叠的整数区间,以形成尽可能少的连续区间。 【描述】LeetCode是全球知名的在线编程训练平台...

    LeetCode题解 - Java语言实现-181页.pdf

    9. Merge Intervals 区间合并是一个数组问题,要求合并重叠的区间。可以使用排序和迭代来解决该问题。 10. Insert Interval 区间插入是一个数组问题,要求将一个区间插入到已经排序的区间数组中。可以使用二分...

    LeetCode-Hot-100

    "Merge Intervals"则要求合并重叠的区间,考察了排序和区间操作技巧。 2. **算法**:题目涵盖排序算法(如快速排序、归并排序)、搜索算法(如二分查找)、动态规划(如斐波那契数列)、回溯法(如八皇后问题)等。...

    leetcode答案-leetcode:leetcode习题答案

    而"Merge Intervals"(合并区间)则涉及到排序和区间处理,有助于理解如何高效地操作和合并数据结构。 其次,算法是LeetCode的核心部分。包括排序、搜索、图论、动态规划等。比如经典的"Longest Increasing ...

    _leetcode-python.pdf

    - Merge Intervals: 给定一组区间,请合并所有重叠的区间。 - Insert Interval: 在一组已经排序的区间中,插入一个新的区间。 - Rotate List: 给定一个链表的头节点head,当旋转了k个位置后,返回链表的新头节点。 -...

    leetcode答案-leetcode:leetcode的一些个人答案

    例如,"Merge Intervals"(合并区间)要求将一个区间列表合并成非重叠的区间,这需要对区间进行排序和合并的操作。 3. **设计模式**:LeetCode 中的部分题目涉及到设计特定的数据结构或算法实现,例如LRU缓存、Trie...

    leetcode分类-leetcode:leetcode刷题(中等难度分类)

    "Merge Intervals"(合并区间)则需要用到排序和区间合并的技巧。 二、算法篇 1. 回溯法:中等难度题目中,回溯法是一种常见的解决方案,如"Combination Sum"(组合总和)和"N-Queens"(皇后问题),通过回溯可以...

    leetcode分类-leetCode:leetcode

    leetcode 分类 ReadMe 纯粹记录一下自己leetCode做题记录及部分思路笔记,不充当指导性...intervals 区间合并类型 cyclic sort 循环排序 list 链表 ... 这些tag分类都可以在一些平台上找到,VSCode中也有响应的分类tag

    leetcode答案-leetcode:leetcode问题的答案

    又如"Merge Intervals",需要合并重叠的时间区间,需要理解区间操作并合理排序。 LeetCode的答案通常有多种解法,包括但不限于暴力求解、递归、迭代、动态规划、贪心算法等。每种解法都有其适用场景和效率考虑,...

    leetcode482-coding-test:编码测试

    MergeIntervals_56 [Java] Java LinkedList 用法和示例总结 MeetingRoomsII_253 [Java] PriorityQueue 类用法和示例总结 关于 KClosetPointsToOrigin_973 PriorityQueue(报告正确答案) FindAllAnagramsInAString_...

    LeetCodeTrain:这是来自LeetCode的已解决任务的存储库

    这是来自LeetCode的已解决任务的存储库使用Java语言解决任务 ...repeating-character-replacement/ MergeIntervals.java - //leetcode.com/problems/merge-intervals/ ReverseLinkedList.java - //leetcode.com/problem

    猜单词leetcode-leetcodelearn:leetcodelearn

    猜单词leetcode leetcodelearn 2020-06-03 标题 2020-06-04 标题 2020-06-05 标题 2020-06-06 标题 2020-06-07 标题 标题 知识点 ...[56. ...翻转单词顺序com/problems/merge-intervals/) 2020-06-20 标题

    javalruleetcode-LeetCode::lollipop:个人LeetCode习题解答仓库-多语言

    java lru leetcode :ice_cream: LeetCode Kindem 的个人 LeetCode 题解仓库,欢迎交流学习。 下面的目录中 $number 题号代表经典 LeetCode ...LeetCode ...56 Merge Intervals 64 Minimum Path Sum 73

    leetcode中文版-LeetCode-OJ:我对leetcodeoj的回答

    leetcode中文版##LeetCode 在线裁判练习 更新频率:一天一题。 所有答案都是我自己完成的,换句话说,答案可能不是最好的,但可以接受。 从这些科目中,我发现动态规划非常重要。 ##难的 ###合并间隔 Given a ...

    lrucacheleetcode-LeetCodeSheet:记录自己Leetcode之旅

    Intervals 进阶题目: Leetcode 179. Largest Number Leetcode 75. Sort Colors Leetcode 215. Kth Largest Element Leetcode 4. Median of Two Sorted Arrays 注意:后两题是与快速排序非常相似的快速选择(Quick ...

    java-leetcode-solutions:一些LeetCode问题的解决方案

    这些文件通常以问题的ID或标题命名,例如`TwoSum.java`, `MergeIntervals.java`等。通过阅读和分析这些代码,你可以了解如何运用不同的算法和数据结构来解决各种复杂的问题。 以下是一些可能涵盖的知识点: 1. **...

Global site tag (gtag.js) - Google Analytics