插入区间(算法)

来源:互联网 发布:知乎 苏德战争 编辑:程序博客网 时间:2024/06/05 02:28

给定一个没有重叠的区间,现插入一个新的区间到该列中,要求维持没有重叠的情况,假设该序列的区间是有序的。区间定义如题目上一博文。

举例:

【1,5】 【6,10】

插入: 【4,6】

输出: 【1,10】


ArrayList<Inteval> insert(Interval[] intervals,Interval newInt){ArrayList<Interval> res = new ArrayList<Interval>();if(intervals == NULL){res.add(newInt);return res;}int i = 0;int n = intervals.length;while(i < n && newInt.start > interval[i].end){res.add(intervals[i++]);}while(i < n && newInt.end >= intervals[i].start){newInt.end = Math.max(newInt.end,intervals[i].end);newInt.start  = Math.min(netInt.start,intervals[i].start);i++;}res.add(newInt);while(i < n)res.add(intervals[i++]);return res;}


0 0