6/13/2014

123. Insert Interval

/**
 * 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> res = new ArrayList<Interval> ();
        Interval merge = newInterval;
       
        for (int i=0; i<intervals.size(); i++) {
            Interval cur = intervals.get(i);
           
            if (cur.end<merge.start) res.add(cur);
            else if (cur.start>merge.end) {
                res.add(merge);
                merge = cur;
            } else merge = new Interval(Math.min(cur.start, merge.start), Math.max(cur.end, merge.end));
        }
        res.add(merge);
       
        return res;
    }
}

没有评论:

发表评论