Given a collection of intervals, merge all overlapping intervals.

Example 1:

Input: [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].

题意:

给定一些区间,将重叠部分合并。

思路:

将原interval集合里,给定区间按照start开头值的从小到大排序

建一个新的interval集合

遍历原interval集合的每个区间,

若cur.start > pre.end 则说明没有重叠,扔到新的interval集合去。

否则,有重叠,则更新之前区间.end的长度

代码:

 class Solution {
public List<Interval> merge(List<Interval> intervals) {
Collections.sort(intervals, (o1, o2)-> o1.start - o2.start); List<Interval> result = new ArrayList<>(); Interval pre = null;
for(Interval cur : intervals){
if(pre == null || cur.start > pre.end){
result.add(cur);
pre = cur;
}else{
pre.end = Math.max(pre.end, cur.end);
}
}
return result;
}
}

最新文章

  1. Linux学习之十--.Net Core环境搭建以及Nginx的搭建
  2. vi使用
  3. 12款免费的 WordPress 响应式主题下载
  4. [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
  5. 服务器(Liunx)打包发布java web工程
  6. 《day10》
  7. JAVA学习之Ecplise IDE 使用技巧(1)第一章:我的地盘我做主,工作空间
  8. C#中 ? 和?? 的用法
  9. 如何把关联性的告警智能添加到 Nagios 上?(2)
  10. html 基础之 &lt;link&gt;标签
  11. 【小白的java成长系列】——java ide 开发工具eclipse的操作
  12. css后续属性
  13. (转)Java开发中的23种设计模式详解
  14. File类实现文件夹和文件复制
  15. day21:包和异常处理
  16. [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED3.txt
  17. Spring Security 用户授权原理分析
  18. 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-4 基于重要性采样的材质初探
  19. js模拟队列----小优先队列
  20. 配置named服务之前的 相关术语意思

热门文章

  1. Windows下struct和union字节对齐设置以及大小的确定(一 简介和结构体大小的确定)
  2. Linux系统安装管理
  3. linux 保留文件 其余删除
  4. 1.3 Linux分区类型
  5. 装完Centos7提示Initial setup of CentOS Linux 7 (core)
  6. makefile或shell中的一些变量
  7. mysqli用户权限操作
  8. 查看Linux内置命令和外部命令
  9. java中将表单转换为PDF
  10. 199. Spring Boot JNDI:这是虾米?