LeetCode 057 Insert Interval

来源:互联网 发布:2017年云南旅游数据 编辑:程序博客网 时间:2024/06/06 06:49
题目


插入区间

代码


public class Solution {    public List<Interval> insert(List<Interval> intervals, Interval newInterval) {        List<Interval> ans = new ArrayList<Interval>();                for(int i =0;i<intervals.size();i++){            Interval cur = intervals.get(i);            if(newInterval.start > cur.start){                if(newInterval.start > cur.end){                    ans.add(cur);                }                else{                    newInterval = new Interval(cur.start, Math.max(newInterval.end,cur.end));                }            }            else{                if(newInterval.end < cur.start){                    ans.add(newInterval);                    newInterval = cur;                }                else{                    newInterval = new Interval(newInterval.start,Math.max(newInterval.end,cur.end));                }            }        }        ans.add(newInterval);        return ans;    }}

思路


1 想象重新构建一个list 每次原list的每个区间和新的区间比较

2 比较的关键都是start。一共4种情况,画图就出来了。



0 0
原创粉丝点击