163. Missing Ranges

# Medium

题意:给一个数组和一个区间,输出所有没有覆盖的区间们

例子:

Input: nums = [0, 1, 3, 50, 75], lower = 0 and upper = 99

Output: ["2", "4->49", "51->74", "76->99"]

Key idea

class solution:
    def findMissingRanges(nums: List[int], lower: int, upper: int):
        res = []
        for num in nums:
            if nums > lower:
                s = num - lower
                if s > 1:
                    res.append(str(lower)+'->'+str(num-1))
                else:
                    res.append(str(lower))
            if nums == upper:  # don't forget the case
                return res
            lower = num + 1
        
        if lower == upper:
            res.append(str(lower))
        elif lower < upper:
            res.append(str(lower)+'->'+str(upper))
        
        return res

Last updated