码迷,mamicode.com
首页 > 其他好文 > 详细

【LeetCode题目记录-4】插入数组间隔问题

时间:2014-09-15 17:51:09      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   io   ar   for   art   问题   sp   

Insert Interval

 Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).

You may assume that the intervals were initially sorted according to their start times.

Example 1:
Given intervals 
[1,3],[6,9], insert and merge [2,5] in as [1,5],[6,9].

Example 2:
Given 
[1,2],[3,5],[6,7],[8,10],[12,16], insert and merge [4,9] in as [1,2],[3,10],[12,16].

This is because the new interval [4,9] overlaps with [3,5],[6,7],[8,10].

【分析-非原创】

参考:https://oj.leetcode.com/discuss/3971/in-place-solution-ask-for-suggestion

  public static List<Interval> insert(List<Interval> intervals, Interval newInterval) {

    List<Interval> list=new ArrayList<Interval>();

        for(int i=0;i<intervals.size();i++){

        /*只要在newInterval左边的都直接加入到list*/

            if(newInterval.start>intervals.get(i).end){

                list.add(intervals.get(i));

               /*只要在newInterval在的右边,就将newInterval加入list,同时将右边这个当做newInterval*/

            }else if(newInterval.end<intervals.get(i).start){

                list.add(newInterval);

                newInterval=intervals.get(i);

            }else{

              /*获取新的newInterval*/

                newInterval.start=Math.min(newInterval.start,intervals.get(i).start);

                newInterval.end=Math.max(newInterval.end,intervals.get(i).end);

            }

        }

        list.add(newInterval);

        return list;

}

【LeetCode题目记录-4】插入数组间隔问题

标签:style   http   color   io   ar   for   art   问题   sp   

原文地址:http://blog.csdn.net/brillianteagle/article/details/39294639

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!