给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。
示例:
输入: nums = [0, 1, 3, 50, 75], lower = 0 和 upper = 99,
输出: ["2", "4->49", "51->74", "76->99"]
/**
* @param {number[]} nums
* @param {number} lower
* @param {number} upper
* @return {string[]}
*/
var findMissingRanges = function(nums, lower, upper) {
let result = [];
let lowerNum = lower;
let upperNum = lower;
let j = 0;
if(nums.length == 0) {
if(lower == upper) {
result[j] = lower + '';
}else {
result[j] = lower + '->' + upper;
}
return result;
}
for (let i = 0; i < nums.length; i++) {
upperNum = nums[i] - 1;
if(nums[i] > lowerNum){
if(lowerNum == upperNum){
result[j] = lowerNum+'';
}else{
result[j] = lowerNum + '->' + upperNum;
}
j++;
}
lowerNum = nums[i]+1;
}
if(upper > nums[nums.length - 1]) {
if(lowerNum < upper) {
result[j] = lowerNum + '->' + upper;
} else{
result[j] = upper + '';
}
}
return result;
};
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/missing-ranges
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。