Insert Interval

public class Solution {
    public ArrayList<Interval> insert(ArrayList<Interval> intervals, Interval newInterval) {
        ArrayList<Interval> res = new ArrayList<Interval>();
        for(Interval i: intervals){
            if(i.end<newInterval.start){
                res.add(i);
            }
            else{
                if(i.start>=newInterval.start && i.end<=newInterval.end) continue;
                else if(i.start> newInterval.end){
                    res.add(newInterval);
                    newInterval = i;
                }
                else{// i.end >= newin.start && i.start < new Interval.start
                    int s = Math.min(i.start, newInterval.start);
                    int e = Math.max(i.end, newInterval.end);
                    newInterval = new Interval(s,e);
                }
            }
        }
        res.add(newInterval);
        return res;
    }
}

几种情况写清楚然后列条件即可 ref http://www.cnblogs.com/springfor/p/3872333.html

posted @ 2015-04-15 01:30  世界到处都是小星星  阅读(118)  评论(0编辑  收藏  举报