博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]56. Merge Intervals归并区间
阅读量:5012 次
发布时间:2019-06-12

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

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的长度

 

 

 

 

代码:

1 class Solution { 2     public List
merge(List
intervals) { 3 Collections.sort(intervals, (o1, o2)-> o1.start - o2.start); 4 5 List
result = new ArrayList<>(); 6 7 Interval pre = null; 8 for(Interval cur : intervals){ 9 if(pre == null || cur.start > pre.end){10 result.add(cur);11 pre = cur;12 }else{13 pre.end = Math.max(pre.end, cur.end);14 }15 }16 return result;17 }18 }

 

转载于:https://www.cnblogs.com/liuliu5151/p/9158283.html

你可能感兴趣的文章
重温WCF之消息契约(MessageContract)(六)
查看>>
Excel2007制作直方图和正态分布曲线图
查看>>
android adb常用指令
查看>>
Android框架之路——GreenDao3.2.2的使用
查看>>
类方法WCF学习笔记-KnowTypeAttribute用法
查看>>
平台程序微信平台开发应用的签名
查看>>
程序卡OK6410裸板更新程序_update
查看>>
MYSQL用户名:root
查看>>
JavaScript 开发规范要求
查看>>
Devstack 安装OpenStack Pike版本(单机环境)
查看>>
Javascript 函数初探
查看>>
类的定义、声明使用
查看>>
转载,gini系数代码对应的公式
查看>>
编译安装mysql-5.6.40
查看>>
年终总结
查看>>
初创互联网公司技术架构变迁之路
查看>>
【BZOJ 3676】 3676: [Apio2014]回文串 (SAM+Manacher+倍增)
查看>>
【网络流24题】No. 13 星际转移问题 (网络判定 最大流)
查看>>
解析$.grep()源码及透过$.grep()看(两次取反)!!的作用
查看>>
[模板] 字符串hash
查看>>