
方法
class Solution {
public List<List<Integer>> findMissingRanges(int[] nums, int lower, int upper) {
List<List<Integer>> res = new ArrayList<>();
if (nums.length == 0) {
List<Integer> list = new ArrayList<>();
list.add(lower);
list.add(upper);
res.add(list);
return res;
}
if (lower < nums[0]) {
List<Integer> list = new ArrayList<>();
list.add(lower);
list.add(nums[0] - 1);
res.add(list);
}
for (int i = 0; i < nums.length - 1; i++) {
int start = nums[i];
int end = nums[i + 1];
if (end - start > 1) {
List<Integer> list = new ArrayList<>();
list.add(start + 1);
list.add(end - 1);
res.add(list);
}
}
if (upper > nums[nums.length - 1]) {
List<Integer> list = new ArrayList<>();
list.add(nums[nums.length - 1] + 1);
list.add(upper);
res.add(list);
}
return res;
}
}