Java Insert Interval(插入间隔)
2014-07-17 16:22
260 查看
Problem:
Given a set of non-overlapping & sorted intervals, insert a new interval into the intervals (merge if necessary).
Quickly summarize 3 cases. Whenever there is intersection, created a new interval.
Java Solution
Given a set of non-overlapping & sorted intervals, insert a new interval into the intervals (merge if necessary).
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].
Thoughts of This Problem
Quickly summarize 3 cases. Whenever there is intersection, created a new interval.
Java Solution
/** * 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 ArrayList<Interval> insert(ArrayList<Interval> intervals, Interval newInterval) { ArrayList<Interval> result = new ArrayList<Interval>(); for(Interval interval: intervals){ if(interval.end < newInterval.start){ result.add(interval); }else if(interval.start > newInterval.end){ result.add(newInterval); newInterval = interval; }else if(interval.end >= newInterval.start || interval.start <= newInterval.end){ newInterval = new Interval(Math.min(interval.start, newInterval.start), Math.max(newInterval.end, interval.end)); } } result.add(newInterval); return result; } }
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【057-Insert Interval(插入区间)】
- 间隔问题,合并间隔(merge interval),插入间隔(insert interval)
- 【LeetCode-面试算法经典-Java实现】【057-Insert Interval(插入区间)】
- Leet Code 57 Insert Interval - 插入区间 - Java
- Java for LeetCode 057 Insert Interval
- [leetcode-57]Insert Interval(java)
- Insert Interval(区间插入)
- [LeetCode] Insert Interval 插入区间
- Caused by: java.sql.SQLException: 无法将 NULL 值插入列 'lineid',表 'kangaroo.dbo.kangaroo_roadnet_line';该列不允许空值。INSERT 失败。
- 插入区间Insert Interval
- Insert Interval 插入间隙
- Insert Interval (Java)
- 在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID
- [Leetcode] Insert Interval (Java)
- JAVA insert() 插入字符串 reverse() 颠倒 delete()和deleteCharAt() 删除字符 replace() 替换 substring() 截取子串
- Insert Interval leetcode java
- [LeetCode] Insert Interval 插入区间
- 插入排序(Insertsort)之Java实现
- Insert Interval 插入区间@LeetCode
- Insert Interval 插入区间