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;
}
}