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


题解:利用变量insertPos记录最终区间插入的位置。遍历intervals,那么当前遍历的interval和newInterval有以下几种情况:

代码如下:

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

最新文章

  1. 适应手机端的jQuery图片滑块动画DEMO演示
  2. CentOS 6.5下Redis安装记录
  3. VMware下利用ubuntu13.04建立嵌入式开发环境之二
  4. jQuery的XX如何实现?——1.框架
  5. NABCD——竞争性需求分析的框架
  6. memwatch内存泄露检测工具
  7. SQL注入与Java
  8. HTTP协议学习-03
  9. 养成代码注释习惯,帮助你更好使用NetBeans导航器
  10. [C#参考]细说进程、应用程序域与上下文之间的关系
  11. UVA 11080 - Place the Guards(二分图判定)
  12. C#动态表达式计算
  13. Quartz格式设置说明
  14. MyISAM和InnoDB索引实现区别
  15. 一看就懂——利用getJSON()与each()方法动态创建内容
  16. NOI2018Day1T1 归程 并查集 kruskal kruskal重构树 倍增表 Dijkstra
  17. 查看shell 命令 路径
  18. 比特币 Bitcoin 是什么,我勒个去,哈耶克果然超前——货币的非国有化,容我思量一下【转载+整理】
  19. python 视频 图像帧提取
  20. PHP使用FPDF pdf添加水印中文乱码问题 pdf合并版本问题

热门文章

  1. hdu1695 GCD2 容斥原理 求x属于[1,b]与y属于[1,d],gcd(x,y)=k的对数。(5,7)与(7,5)看作同一对。
  2. 集合映射中的映射包(使用xml文件)
  3. Mysql事务-隔离级别
  4. Activity四种启动方式
  5. 【BZOJ2762】[JLOI2011]不等式组 树状数组
  6. EasyNVR现场部署搭配EasyNVS云端集中控制应用于幼儿园直播场景的最佳方案!
  7. 初步认识dubbo--小案例
  8. Java中Jedis操作Redis与Spring的整合
  9. POJ 3026 Borg Maze【BFS+最小生成树】
  10. cmake编译选项