leetcode 163

96 阅读1分钟

给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。

示例:

输入: nums = [0, 1, 3, 50, 75], lower = 0 和 upper = 99, 输出: ["2", "4->49", "51->74", "76->99"] `

class Solution:
  def findMissingRanges(self, nums: List[int], lower: int, upper: int) -> List[str]:
    res = []
    def append_res(start, end):
        t = str(start)
        if end > start:
            t += '->' + str(end)
        res.append(t)
    for num in nums:
        if num > lower:
            append_res(lower, num-1)

        lower = num+1
        if num == upper:
            return res
    if lower <= upper:
        append_res(lower, upper)
    return res

a = Solution()
test = [0, 1, 3, 50, 75]
print(a.findMissingRanges(test, 0, 99))

`