Insert interval
https://leetcode.com/problems/insert-interval/
public List<Interval> insert(List<Interval> intervals, Interval newInterval) { List<Interval> result = new ArrayList(); for (Interval interval : intervals) { if (interval.end < newInterval.start) { // new interval occur after this one result.add(interval); } else if (interval.start > newInterval.end) { // new interval occur before the current interval result.add(newInterval); newInterval = interval; } else if (interval.end >= newInterval.start || interval.start <= newInterval.end) { // overlap newInterval = new Interval(Math.min(interval.start, newInterval.start), Math.max(newInterval.end, interval.end)); } } result.add(newInterval); return result; } class Interval { int start; int end; Interval() { start = 0; end = 0; } Interval(int s, int e) { start = s; end = e; } }