博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode] Insert Interval
阅读量:6690 次
发布时间:2019-06-25

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

hot3.png

Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).

You may assume that the intervals were initially sorted according to their start times.

Example 1:

Given intervals[1,3],[6,9], insert and merge[2,5]in as[1,5],[6,9].

Example 2:

Given[1,2],[3,5],[6,7],[8,10],[12,16], insert and merge[4,9]in as[1,2],[3,10],[12,16].

This is because the new interval[4,9]overlaps with[3,5],[6,7],[8,10].

思路1:建立新的结果返回,遍历原来的线段组(注意原来是按照start排序之后的),所以根据是否和新的interval重叠,加入新的结果中(结果也要求按start排序)。

public class Solution {    public ArrayList
insert(ArrayList
intervals, Interval newInterval) { if (newInterval == null) return intervals; ArrayList
res = new ArrayList
(); for (Interval each : intervals) { if (each.end < newInterval.start) res.add(each); else if (each.start > newInterval.end) { res.add(newInterval); newInterval = each; } else { newInterval = new Interval(Math.min(each.start, newInterval.start), Math.max(each.end, newInterval.end)); } } res.add(newInterval); return res; } public static void main(String[] args) { // Given [1,2],[3,5],[6,7],[8,10],[12,16], insert and merge [4,9] in as Interval one = new Interval(1, 2); Interval two = new Interval(3, 5); Interval three = new Interval(6, 7); Interval four = new Interval(8, 10); Interval five = new Interval(12, 16); ArrayList
intervals = new ArrayList
(); intervals.add(one); intervals.add(two); intervals.add(three); intervals.add(four); intervals.add(five); System.out.println(new Solution().insert(intervals, new Interval(4, 9))); }}

参考:

转载于:https://my.oschina.net/jdflyfly/blog/284520

你可能感兴趣的文章
想要百度信息流效果更好你应该这样投放
查看>>
Oracle教程之Oralce OMF功能详解(三)--使用Oralce OMF管理控制文件
查看>>
C# extern 修饰符的用法
查看>>
Zabbix修正错误两例(只提供解决思路)
查看>>
Redhat6.X 配置HP3PAR7200存储多路径过程
查看>>
Java基础系列19:使用JXL或者POI生成和解析Excel文件
查看>>
【NetApp】console和SP的相互切换
查看>>
301错误_302错误_404错误_500错误等
查看>>
PHP内核介绍及扩展开发指南—Extensions 的编写
查看>>
使用xshell打开centos中文显示为乱码
查看>>
达内实习——数据库编程、文件读写数据
查看>>
zabbix 监控percona
查看>>
我的友情链接
查看>>
HA高可用集群基础概念和原理
查看>>
MySQL over函数的用法
查看>>
Linux命令(9):mkdir命令
查看>>
vmstat命令
查看>>
poj2245 Lotto
查看>>
我的友情链接
查看>>
Oracle版本升级
查看>>