Menu
CoddyTech

Summary Ranges

你会得到一个由互不相同的整数构成的有序数组 nums。将它拆分成尽可能少的连续整数范围,使每个值恰好属于一个范围。将范围 a..b 写成文本 "a->b";如果范围只包含一个值,则写成 "a"。按递增顺序返回这些范围。

函数

summaryRanges(nums: integer-array) → string-array
numsinteger-array
排序后的互不相同的整数数组
返回值string-array
以文本形式表示范围,从最小值到最大值

约束条件

  • 1 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums 按升序排列,且没有重复项。

示例

输入
nums = [0, 1, 2, 5, 6, 9]
输出
["0->2", "5->6", "9"]
解释
0, 1, 2 是连续的,因此它们组成 "0->2"。从 2 跳到 5 时,会开始一个新的范围 "5->6",而 9 则单独表示为 "9"。
challenge icon

进阶

假设 nums 中可能有重复值,例如 [1, 2, 2, 3]。你需要做什么修改,才能让它仍然输出 "1->3"?

重置代码
def summaryRanges(nums):
    # 在这里编写代码

测试 #1

测试 #2

参数

nums = [0, 1, 2, 5, 6, 9]

预期输出

["0->2", "5->6", "9"]