zoukankan      html  css  js  c++  java
  • 57. 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]

     1 /**
     2  * Definition for an interval.
     3  * public class Interval {
     4  *     int start;
     5  *     int end;
     6  *     Interval() { start = 0; end = 0; }
     7  *     Interval(int s, int e) { start = s; end = e; }
     8  * }
     9  */
    10 public class Solution {
    11     public List<Interval> insert(List<Interval> intervals, Interval newInterval) {
    12         List<Interval> res = new ArrayList<Interval>();
    13         int len = intervals.size();
    14         int i=0;
    15         while(i<len&&intervals.get(i).end<newInterval.start){
    16             res.add(intervals.get(i++));
    17         }
    18         while(i<len&&intervals.get(i).start<=newInterval.end){
    19             newInterval.start = Math.min(newInterval.start,intervals.get(i).start);
    20             newInterval.end = Math.max(newInterval.end,intervals.get(i).end);
    21             i++;
    22         }
    23         res.add(newInterval);
    24         while(i<len){
    25             res.add(intervals.get(i++));
    26         }
    27         return res;
    28     }
    29 }
    30 //the run time complexity could be O(n),the space complexity could be O(n);
  • 相关阅读:
    C#调用WebService
    在asp.net中Bind和Eval的区别详解
    详细说明WebService特性
    Remoting技术简介
    Web Service是如何工作的
    C#面试题
    创建一个简单的Web Service
    innerHTML属性导致未知的运行时错误ie bug
    一些想法:关于备份
    数据库考试中常见题分析:关系代数中的除法运算
  • 原文地址:https://www.cnblogs.com/codeskiller/p/6362440.html
Copyright © 2011-2022 走看看