LeetCode 163 Missing Ranges

LeetCode 163 Missing Ranges

Given a sorted integer array where the range of elements are [lower, upper] inclusive, return its missing ranges.
For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return ["2", "4->49", "51->74", "76->99"].

這題的follow up個人感覺會非常復雜。。。如果需要考慮給出的[lower, upper]區間否是完全包含sorted array。。。

不過這里說了ranges是[lower, upper] inclusive,所以只考慮sorted array完全在該范圍內的情況,因此需要重點考慮的是lower和upper兩頭的case。

自己寫了一下代碼比較繁瑣。。。

代碼:

public class Solution {
    public List<String> findMissingRanges(int[] nums, int lower, int upper) {
        int n = nums.length;
        int st = lower, i = 0;
        List<String> ranges = new ArrayList<>();
        if (n == 0) {
            String str = "";
            if (lower == upper)
                str = "" + lower;
            else 
                str = lower + "->" + upper;
            ranges.add(str);
            return ranges;
        }
        
        while (i < n) {
            if (st < nums[i]) {
                String str = "";
                if (st == nums[i]-1)
                    str = "" + st;
                else 
                    str = st + "->" + (nums[i]-1);
                ranges.add(str);
            }
            st = nums[i]+1;
            i++;
        }
        if (st <= upper) {
            String str = "";
            if (st == upper)
                str = "" + st;
            else 
                str = st + "->" + (upper);
            ranges.add(str);
        }
        
        return ranges;
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,775評論 0 33
  • Given a sorted integer array where the range of elements ...
    ShutLove閱讀 733評論 0 0
  • LeetCode 刷題隨手記 - 第一部分 前 256 題(非會員),僅算法題,的吐槽 https://leetc...
    蕾娜漢默閱讀 17,934評論 2 36
  • Given a sorted integer array where the range of elements ...
    Jeanz閱讀 240評論 0 0
  • 帶著孩子常去爬山,這座山是一位有恩有大愛之人開建的,不是政府投資的。 在山腳有牌子,由于同頂上還在修建多條小路,牌...
    祝福您好閱讀 116評論 0 0