Insert Interval

来源:互联网 发布:fifaaddict数据库 编辑:程序博客网 时间:2024/05/22 16:54
/** * 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) {        if (intervals == null) {            throw new IllegalArgumentException("ab");        }        if (intervals.size() == 0) {            intervals.add(newInterval);            return intervals;        }        List<Interval> res = new LinkedList<>();        boolean flag = true;        for (Interval i: intervals) {            if (i.end < newInterval.start) {                res.add(i);            } else if (newInterval.end < i.start){                if (flag) {                    res.add(newInterval);                    flag = false;                }                res.add(i);            } else {                Interval merge = new Interval(Integer.min(i.start, newInterval.start), Integer.max(i.end, newInterval.end));                newInterval = merge;            }        }        if (flag) {            res.add(newInterval);        }        return res;    }}

0 0