zoukankan      html  css  js  c++  java
  • 57. Insert Interval(js)

    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:

    Input: intervals = [[1,3],[6,9]], newInterval = [2,5]
    Output: [[1,5],[6,9]]
    

    Example 2:

    Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
    Output: [[1,2],[3,10],[12,16]]
    Explanation: Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10].
    题意:给定一个区间组和一个新的区间,再合并有重叠的区间
    代码如下:
    /**
     * Definition for an interval.
     * function Interval(start, end) {
     *     this.start = start;
     *     this.end = end;
     * }
     */
    /**
     * @param {Interval[]} intervals
     * @param {Interval} newInterval
     * @return {Interval[]}
     */
    var insert = function(intervals, newInterval) {
        var len=intervals.length;
        var curr=0;
        var res=[];
        while(curr<len && intervals[curr].end<newInterval.start){
            res.push(intervals[curr++]);
     
        }
        while(curr<len && intervals[curr].start<=newInterval.end){
            newInterval.start=Math.min(intervals[curr].start,newInterval.start);
            newInterval.end=Math.max(intervals[curr].end,newInterval.end);
            ++curr;
        }
        res.push(newInterval);
        while(curr<len){
            res.push(intervals[curr++]);
    
        }
        return res;
    };
  • 相关阅读:
    Java基础知识
    jQuery的表单操作
    SSM——查询_分页
    jQuery实现查看删除
    SSM之Maven工程的搭建
    Mybatis使用@Param
    Mybatis简单的CURD
    Mybatis使用接口开发
    初入Mybatis
    SQL语句
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10458511.html
Copyright © 2011-2022 走看看