博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetCode 57.Insert Interval (插入区间) 解题思路和方法
阅读量:6327 次
发布时间:2019-06-22

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

Insert Interval 
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].

思路:插入合并就可以,相比于上一题。这题还要简单一些。

详细代码例如以下:

/** * 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; } * } */public class Solution {    public List
insert(List
intervals, Interval newInterval) { List
list = new ArrayList
(); //边界情况 if(intervals.size() == 0){ list.add(newInterval); return list; } //循环推断 for(int i = 0; i < intervals.size();i++){ //假设新的区间结束值小于開始值。则直接插入前面。后面依次插入就可以 if(newInterval.end < intervals.get(i).start){ list.add(newInterval); for(int j = i; j < intervals.size(); j++){ list.add(intervals.get(j)); } break; } //新的区间開始点大于结束点。则当前点直接加入结果集 else if(newInterval.start > intervals.get(i).end){ list.add(intervals.get(i)); } //须要合并的情况 else{ //合并区间 newInterval.start = Math.min(newInterval.start,intervals.get(i).start); newInterval.end = Math.max(newInterval.end,intervals.get(i).end); } if(i == intervals.size() - 1){//假设是最后一个数据。也加入结果集中 list.add(newInterval); } } return list; }}

转载地址:http://htgaa.baihongyu.com/

你可能感兴趣的文章
北大校长王恩哥送给毕业学生的十句话
查看>>
IDC简报:2012年全球六大最佳主机服务器提供商
查看>>
HC3i论坛5月份热门资源30个
查看>>
mysqldump导出--数据+结构+(函数+存储过程)
查看>>
浏览器的渲染原理简介
查看>>
使用window.performance分析web前端性能
查看>>
获取系统当前时间参数date
查看>>
MySQL性能优化的最佳20+条经验
查看>>
exchange server 相关
查看>>
centos7系列安装vnc服务并授权用户访问
查看>>
CentOS mailx client
查看>>
字符串格式化
查看>>
Why Should You Choose Linux?
查看>>
NetScaler 12.1 发布
查看>>
checkpoint system management
查看>>
CentOS 6.5安全加固及性能优化_操作系统
查看>>
每天laravel-20160709|CallEvent
查看>>
我的友情链接
查看>>
【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
查看>>
Cisco 配置DHCP中继 代理工程 实例
查看>>