163.Missing Ranges

MIN, MAX, Overflow, Overflow, Overflow!!!

https://leetcode.com/problems/missing-ranges/discuss/50476/Accepted-Java-solution-with-explanation

class Solution {
    public List<String> findMissingRanges(int[] nums, int lower, int upper) {
        List<String> res = new ArrayList<>();
        for (int n : nums) {
            if (n == Integer.MIN_VALUE) {
                lower = n + 1; 
                continue;
            }
            if (lower == n - 1) res.add("" + lower);
            else if (lower < n - 1)   res.add(lower + "->" + (n - 1)); 
            if (n == Integer.MAX_VALUE)     return res; // added
            lower = n + 1;
        }
        // if (lower == Integer.MIN_VALUE) return res;
        if (lower == upper) res.add("" + lower);
        else if (lower < upper)   res.add(lower + "->" + upper);
        return res;
    }
}

results matching ""

    No results matching ""