博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 59: Merge Intervals
阅读量:5741 次
发布时间:2019-06-18

本文共 1246 字,大约阅读时间需要 4 分钟。

/** * 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; } * } */class Solution {    public List
merge(List
intervals) { List
result = new ArrayList<>(); if (intervals == null || intervals.size() < 2) { return intervals; } Collections.sort(intervals, new Comparator
(){ @Override public int compare(Interval i1, Interval i2) { return i1.start - i2.start; } }); Interval current = intervals.get(0); for (int i = 1; i < intervals.size(); i++) { if (current.end >= intervals.get(i).start) { current.end = Math.max(current.end, intervals.get(i).end); } else { result.add(current); current = intervals.get(i); } } result.add(current); return result; }}

 

 

1. Has to be sorted if originally not sorted.

2. When merge end point, it could be totally covered instead of intersect.

转载于:https://www.cnblogs.com/shuashuashua/p/7403912.html

你可能感兴趣的文章
[Everyday Mathematics]20150105
查看>>
166.3. 容器
查看>>
1.6. Network
查看>>
【Web动画】SVG 实现复杂线条动画
查看>>
主流手机分辨率 尺寸 操作系统
查看>>
Office版本差别引发的语法问题
查看>>
使用Wireshark捕捉USB通信数据
查看>>
iOS - KVC 键值编码
查看>>
《树莓派渗透测试实战》——1.1 购买树莓派
查看>>
Apache Storm 官方文档 —— FAQ
查看>>
量化交易入门——数学模型应用于投机交易
查看>>
C++游戏系列4:杀伤距离有限制
查看>>
iOS 高性能异构滚动视图构建方案 —— LazyScrollView
查看>>
Java 重载、重写、构造函数详解
查看>>
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>
【云栖大会】探索商业升级之路
查看>>
HybridDB实例新购指南
查看>>
小程序,会是下一个创业风口吗
查看>>
C语言及程序设计提高例程-35 使用指针操作二维数组
查看>>
华大基因BGI Online的云计算实践
查看>>