给出一个无重叠的按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
示例 1:
给定区间 [1,3],[6,9],插入并合并 [2,5] 得到 [1,5],[6,9].
示例 2:
给定区间 [1,2],[3,5],[6,7],[8,10],[12,16],插入并合并 [4,9] 得到 [1,2],[3,10],[12,16].
这是因为新的区间 [4,9] 与 [3,5],[6,7],[8,10] 重叠。
详见:https://leetcode.com/problems/insert-interval/description/

Java实现:

/*** 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<Interval> insert(List<Interval> intervals, Interval newInterval) {List<Interval> res = new ArrayList<Interval>();for(Interval each: intervals){if(each.end < newInterval.start){res.add(each);}else if(each.start > newInterval.end){res.add(newInterval);newInterval = each;        }else if(each.end >= newInterval.start || each.start <= newInterval.end){int nstart = Math.min(each.start, newInterval.start);int nend = Math.max(newInterval.end, each.end);newInterval = new Interval(nstart, nend);}}res.add(newInterval); return res;}
}

参考:https://www.cnblogs.com/springfor/p/3872333.html

转载于:https://www.cnblogs.com/xidian2014/p/8698614.html

057 Insert Interval 插入区间相关推荐

  1. 合并区间 · Merge Intervals 插入区间 · Insert Interval

    [抄题]: 给出若干闭合区间,合并所有重叠的部分. 给出的区间列表 => 合并后的区间列表: [ [[1, 3], [1, 6],[2, 6], => [8, 10],[8, 10], [ ...

  2. int类型年月怎么区间查询_LeetCode 力扣官方题解 | 57.插入区间

    点击上方蓝字设为星标 下面开始今天的学习-力扣  57. 插入区间(点击文末阅读原文查看题目)题目描述给出一个无重叠的 ,按照区间起始端点排序的区间列表.在列表中插入一个新的区间,你需要确保列表中的区 ...

  3. Insert Interval

    Insert Interval 题解 题目描述 即向有序.不重叠的区间序列中插入一个区间.如区间产生重叠,则合并.求插入新区间后的区间序列. 如:A = [1,3],[6,9],插入[2,6],插入后 ...

  4. # 57. 插入区间

    57. 插入区间 给你一个 无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入:inte ...

  5. 领扣LintCode问题答案-30. 插入区间

    领扣LintCode问题答案-30. 插入区间 目录 30. 插入区间 鸣谢 30. 插入区间 给出一个无重叠的按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你要确保列表中的区间仍然有序 ...

  6. LeetCode-笔记-57.插入区间

    LeetCode-笔记-57.插入区间 1.题目 给你一个 无重叠的 ,按照区间起始端点排序的区间列表.在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间) ...

  7. LeetCode 55跳跃游戏56合并区间57插入区间

    原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...

  8. Leetcode第57题(插入区间)

    题目描述: 给你一个 无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入:interva ...

  9. Python描述 LeetCode 57. 插入区间

    Python描述 LeetCode 57. 插入区间   大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开发.py ...

最新文章

  1. 软件测试技术篇:UI自动化到底是难是易?
  2. PacBio三代测序
  3. web开发过程中经常用到的一些公共方法及操作
  4. Amazon Elasticsearch Service 入门实践
  5. 如何跳转指定页面后再次跳转到另一页面或原来的页面
  6. 22.C++- 继承与组合,protected访问级别
  7. 你熟知的开源项目,幕后推手竟然是他们?
  8. postman电脑版无法安装_Postman 安装及使用入门教程
  9. flume 整合kafka
  10. 【蓝桥杯选拔赛真题48】Scratch跳舞机游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
  11. 计算机电源安装,手把手教你正确安装主机电源
  12. 英语形容词的排列顺序 -- 重点记忆
  13. 公司网站应该外包SEO公司还是自己去做?
  14. android 360短信拦截,Android版360卫士更威武
  15. 爬取B站20万+条弹幕,我学会了如何成为B站老司机
  16. 有贵人相助顶你三年兢兢业业---养浩有感
  17. PS CC2019安装
  18. Python 字典学习总结(自学)
  19. 微型计算机的计算器,微机简单计算器程序设计
  20. 关于nbsp的一点笔记

热门文章

  1. 表格下划线怎么加粗_这招高!Excel签名栏的下划线随列宽变化,是不是感觉牛哄哄的?...
  2. 《OpenCV3编程入门》学习笔记6 图像处理(四)形态学滤波(2):开运算、闭运算、形态学梯度、顶帽、黑帽
  3. usaco Calf Flac(O(n)时间求回文串长度)
  4. python读取csv文件第一行_尝试读取CSV文件的第一行返回['/']
  5. python dataframe取某行某列_pandas dataframe.apply() 实现对某一行/列进行处理获得一个新行/新列...
  6. eclipse关闭mysql数据库,有关于用eclipse连接mysql数据库出现的问题以及解决办法
  7. linux c 启动程序吗,Linux下C程序启动时的系统调用
  8. linux top cpu核数查看,Linux怎么查看CPU核数?
  9. opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值
  10. mac 思科 链路聚合_TCP/IP协议栈-之-数据链路层分析