leetcode: Insert Interval
来源:互联网 发布:java中timestamp 编辑:程序博客网 时间:2024/05/04 16:11
向一组有序的区间中插入一个区间,并合并。。。。试想:区间之间有三种情况:
1. A.end<B.start
2.A.start>B.end
3其他
由于区间集合有序,1,2两种情况区间和插入区间毫无交集,但是在2情况时要将当前待插入区间插入》。。情况三即和待插入区间有重叠...此时我们取两端极值更新待插入区间即可完成区间的合并.....最后需要判断是否出现了情况2,即更新后的待插入区间是否插入....这样遍历一遍区间集合即可完成....
/** * 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> res = new ArrayList<Interval>(); int l = newInterval.start; int r = newInterval.end; int flag=0; for(Interval i : intervals) { if(flag==1) { res.add(i); continue; } if(l > i.end) { res.add(i); continue; } if(r < i.start) { Interval tmp = new Interval(l,r); res.add(tmp); res.add(i); flag=1; continue; } l = Math.min(l,i.start); r = Math.max(r,i.end); } if(flag==0) { Interval tmp = new Interval(l,r); res.add(tmp); } return res; }}
0 0
- LeetCode: Insert Interval & Merge Interval
- LeetCode题目 Insert Interval
- LeetCode: Insert Interval
- LeetCode Insert Interval
- LeetCode: Insert Interval
- Leetcode: Insert Interval
- [LeetCode] Insert Interval
- LeetCode Insert Interval
- [LeetCode]Insert Interval
- leetcode insert interval
- [leetcode]Insert Interval
- LeetCode-Insert Interval
- [leetcode] Insert Interval
- LeetCode - Insert Interval
- 【leetcode】Insert Interval
- leetcode Insert Interval
- 【leetcode】Insert Interval
- LeetCode Insert Interval
- Java中equals方法和hashCode方法
- 由于Surfaceview,Activity启动闪黑屏
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- Object-C学习 复合
- 聚集索引和非聚集索引
- leetcode: Insert Interval
- LeetCode - Reverse Words in a String
- GARCH(四)
- OC第二讲成员变量可见度与方法——复合
- 数据库技术之存储过程设计与实现(二)
- 每日一帖:数据结构与算法之字符串包含
- Android中短信发送、界面跳转
- 手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(四)Hand Initialization
- 从头开始写项目Makefile(零):前言