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 js_leetcode题解之56-merge-intervals.js
c是最好的编程语言 C语言_leetcode题解之56-merge-intervals
java java_leetcode题解之Merge Intervals.java
【标题】"LeetCode56 - 合并间隔"是一个编程挑战,主要涉及算法和数据结构的知识点。在这个问题中,任务是合并一系列非重叠的整数区间,以形成尽可能少的连续区间。 【描述】LeetCode是全球知名的在线编程训练平台...
9. Merge Intervals 区间合并是一个数组问题,要求合并重叠的区间。可以使用排序和迭代来解决该问题。 10. Insert Interval 区间插入是一个数组问题,要求将一个区间插入到已经排序的区间数组中。可以使用二分...
"Merge Intervals"则要求合并重叠的区间,考察了排序和区间操作技巧。 2. **算法**:题目涵盖排序算法(如快速排序、归并排序)、搜索算法(如二分查找)、动态规划(如斐波那契数列)、回溯法(如八皇后问题)等。...
而"Merge Intervals"(合并区间)则涉及到排序和区间处理,有助于理解如何高效地操作和合并数据结构。 其次,算法是LeetCode的核心部分。包括排序、搜索、图论、动态规划等。比如经典的"Longest Increasing ...
- Merge Intervals: 给定一组区间,请合并所有重叠的区间。 - Insert Interval: 在一组已经排序的区间中,插入一个新的区间。 - Rotate List: 给定一个链表的头节点head,当旋转了k个位置后,返回链表的新头节点。 -...
例如,"Merge Intervals"(合并区间)要求将一个区间列表合并成非重叠的区间,这需要对区间进行排序和合并的操作。 3. **设计模式**:LeetCode 中的部分题目涉及到设计特定的数据结构或算法实现,例如LRU缓存、Trie...
"Merge Intervals"(合并区间)则需要用到排序和区间合并的技巧。 二、算法篇 1. 回溯法:中等难度题目中,回溯法是一种常见的解决方案,如"Combination Sum"(组合总和)和"N-Queens"(皇后问题),通过回溯可以...
leetcode 分类 ReadMe 纯粹记录一下自己leetCode做题记录及部分思路笔记,不充当指导性...intervals 区间合并类型 cyclic sort 循环排序 list 链表 ... 这些tag分类都可以在一些平台上找到,VSCode中也有响应的分类tag
又如"Merge Intervals",需要合并重叠的时间区间,需要理解区间操作并合理排序。 LeetCode的答案通常有多种解法,包括但不限于暴力求解、递归、迭代、动态规划、贪心算法等。每种解法都有其适用场景和效率考虑,...
MergeIntervals_56 [Java] Java LinkedList 用法和示例总结 MeetingRoomsII_253 [Java] PriorityQueue 类用法和示例总结 关于 KClosetPointsToOrigin_973 PriorityQueue(报告正确答案) FindAllAnagramsInAString_...
这是来自LeetCode的已解决任务的存储库使用Java语言解决任务 ...repeating-character-replacement/ MergeIntervals.java - //leetcode.com/problems/merge-intervals/ ReverseLinkedList.java - //leetcode.com/problem
猜单词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 标题
java lru leetcode :ice_cream: LeetCode Kindem 的个人 LeetCode 题解仓库,欢迎交流学习。 下面的目录中 $number 题号代表经典 LeetCode ...LeetCode ...56 Merge Intervals 64 Minimum Path Sum 73
leetcode中文版##LeetCode 在线裁判练习 更新频率:一天一题。 所有答案都是我自己完成的,换句话说,答案可能不是最好的,但可以接受。 从这些科目中,我发现动态规划非常重要。 ##难的 ###合并间隔 Given a ...
Intervals 进阶题目: Leetcode 179. Largest Number Leetcode 75. Sort Colors Leetcode 215. Kth Largest Element Leetcode 4. Median of Two Sorted Arrays 注意:后两题是与快速排序非常相似的快速选择(Quick ...
这些文件通常以问题的ID或标题命名,例如`TwoSum.java`, `MergeIntervals.java`等。通过阅读和分析这些代码,你可以了解如何运用不同的算法和数据结构来解决各种复杂的问题。 以下是一些可能涵盖的知识点: 1. **...