Missing Ranges
Thoughts
Code
class Solution {
public List<String> findMissingRanges(int[] nums, int lower, int upper) {
List<String> res = new ArrayList<>();
long next = lower;
for (int i = 0; i < nums.length; i++) {
if (nums[i] < next) {
continue;
}
if (nums[i] == next) {
next++;
continue;
}
if (next == nums[i] - 1) {
res.add(String.valueOf(next));
} else {
res.add(next + "->" + (nums[i] - 1));
}
next = (long)nums[i] + 1;
}
if (next <= upper) {
if (next == upper) {
res.add(String.valueOf(next));
} else {
res.add(next + "->" + upper);
}
}
return res;
}
}Analysis
Last updated