228. Summary Ranges

題目

Given a sorted integer array without duplicates, 
return the summary of its ranges.
Input: [0,1,2,4,5,7]
Output: ["0->2","4->5","7"]

給一個(gè)有序數(shù)組,將數(shù)組中連續(xù)的數(shù)字的變成range的形式

分析

這道題居然是medium難度的讓我大跌眼鏡。一遍掃描就可以了,具體看代碼

代碼

public List<String> summaryRanges(int[] nums) {
    List<String> list = new ArrayList<>();
    if(nums == null || nums.length == 0) return list;
    int start = nums[0];
    int prev = nums[0];
    int cur = nums[0];
    for(int i = 1; i < nums.length; i ++){
        cur = nums[i];
        if(cur != prev + 1){ //不連續(xù)
            String info = start == prev ? "" + start : start + "->" + prev;
            list.add(info);
            start = cur;
        }
        prev = cur;
    }
    list.add(start == prev ? "" + start : start + "->" + prev);
    return list;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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