*LeetCode-Insert Interval

来源:互联网 发布:淘宝鹊桥活动怎么退出 编辑:程序博客网 时间:2024/06/04 00:54

这个题的intervals已经sorted 

步骤是 先把前面end < newInterval.start插入 然后将所有中间的弄成一个 再把后面的加上去

/** * 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 LinkedList<Interval> ();        int i = 0;        while ( i < intervals.size() && intervals.get(i).end < newInterval.start ){            res.add ( intervals.get(i) );            i ++;        }        int start = newInterval.start;        int end = newInterval.end;        while ( i < intervals.size() && intervals.get(i).start <= newInterval.end ){              start = Math.min( intervals.get(i).start, start );              end = Math.max ( intervals.get(i).end, end );              i ++;        }        Interval inter = new Interval ( start, end );        res.add ( inter );        while ( i < intervals.size() ){            res.add ( intervals.get(i) );            i ++;        }        return res;    }}


0 0
原创粉丝点击