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