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