228. Summary Ranges

Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].
使用范圍的方式描述一個(gè)已排序的數(shù)組。
很直接的實(shí)現(xiàn),使用begin來(lái)標(biāo)記當(dāng)前范圍的起點(diǎn),每遍歷到一個(gè)位置就看下一個(gè)是不是比當(dāng)前只增1,是的話index繼續(xù)后移begin不變,不是的話說(shuō)明當(dāng)前范圍已經(jīng)結(jié)束,輸出一個(gè)結(jié)果,begin和index都指向下一個(gè)位置,找新的范圍:

var summaryRanges = function(nums) {
    var num = nums.length;
    if (num===0) return [];
    var res = [];
    var begin = 0;
    var index = 0;
    while(index+1<num) {
        if (nums[index+1]-nums[index]!==1) {
            if (begin === index) {
                res.push("" + nums[index]);
            } else {
                res.push(nums[begin] + '->' + nums[index]);
            }
            begin = index + 1;
        }
        index++;
    }
    if (begin === index) {
        res.push("" + nums[index]);
    } else {
        res.push(nums[begin] + '->' + nums[index]);
    }
    return res;
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容