第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript合并區(qū)間的算法

JavaScript合并區(qū)間的算法

飲歌長嘯 2018-09-06 11:10:21
舉個例子:有如下三個區(qū)間:[     [1,100],     [50,200],     [300,400],     ...  //可以更多 ]現(xiàn)在需要一個算法來合并區(qū)間, 合并之后是:[     [1,200],     [300,400],     ... ]就是說重合的區(qū)間是需要合并的, 這樣的算法該怎么寫? 大神們給點思路吧
查看完整描述

1 回答

?
明月笑刀無情

TA貢獻1828條經(jīng)驗 獲得超4個贊

function merge(intervals) {

    intervals.sort(function(a, b) {

        if (a[0] !== b[0])

            return a[0] - b[0];

        return a[1] - b[1];

    });

    var len = intervals.length,

        ans = [],

        start, end;


    for (var i = 0; i < len; i++) {

        var s = intervals[i][0],

            e = intervals[i][1];

        if (start === undefined)

            start = s, end = e;

        else if (s <= end)

            end = Math.max(e, end);

        else {

            var part = [start, end];

            ans.push(part);

            start = s;

            end = e;

        }

    }


    if (start !== undefined) {

        var part = [start, end];

        ans.push(part);

    }


    return ans;

};


var arr = [

    [1, 100],

    [50, 200],

    [300, 400]

]

console.log(merge(arr))


查看完整回答
反對 回復(fù) 2018-10-13
  • 1 回答
  • 0 關(guān)注
  • 1013 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號