【LeetCode】56. Merge Intervals
来源:互联网 发布:java jxl.jar 下载 编辑:程序博客网 时间:2024/05/18 15:23
问题描述
https://leetcode.com/problems/merge-intervals/#/description
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]
.
数轴覆盖问题。
算法
将各条线段的start按从小到大排序,然后依次比较每条线段的end,看是否被前一段覆盖即可。
代码
public List<Interval> merge(List<Interval> intervals) { List<Interval> res = new ArrayList<>(); if(intervals == null || intervals.isEmpty()) return res; Collections.sort(intervals, new Comparator<Interval>(){ @Override public int compare(Interval a, Interval b) { if(a.start < b.start) { return -1; } else if(a.start > b.start) { return 1; } return 0; } }); int start=intervals.get(0).start, end=intervals.get(0).end; for(Interval it:intervals) { if(it.start <= end) { end = Math.max(it.end, end); } else { res.add(new Interval(start, end)); start = it.start; end = it.end; } } res.add(new Interval(start, end)); return res; }
LeetCode解题代码仓库:https://github.com/zgljl2012/leetcode-java
阅读全文
1 0
- [LeetCode]56.Merge Intervals
- 56. Merge Intervals Leetcode
- LeetCode --- 56. Merge Intervals
- LeetCode 56.Merge Intervals
- [Leetcode] 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 【leetcode】56. Merge Intervals
- [leetcode] 56.Merge Intervals
- **LeetCode 56. Merge Intervals
- LeetCode 56. Merge Intervals
- leetcode 56. Merge Intervals
- 【LeetCode】56. Merge Intervals
- LeetCode 56. Merge Intervals
- 【leetcode】56. Merge Intervals
- leetcode 56. Merge Intervals
- leetcode.56. Merge Intervals
- [LeetCode] 56. Merge Intervals
- leetcode 56. Merge Intervals
- 解决微信浏览器返回上一页面强制刷新的问题
- 获取select标签选中的值
- Android自定义通知样式适配不同系统样式
- 根据端口找配置文件、关服务
- unity深度查找某个子物体和遍历所有子物体方法
- 【LeetCode】56. Merge Intervals
- Java邮件开发简单实例
- 【Unity&事件】事件监听响应的几种方法分析研究
- 我推荐阅读的微信公众号-IT类
- 向前光照和延后光照渲染器问题和原理
- npm 安装配置等
- 特长生模拟 Array(水)
- #游戏unity#AR中奇妙的虚拟按钮
- 基于部分亲和字段PAF(Part Affinity Field)的2D图像姿态估计