Menu
CoddyTech

Summary Ranges

異なる整数を含むソート済み配列 nums が与えられます。すべての値がちょうど1つの範囲に属するように、連続する整数の範囲に分割し、範囲の数を最小にしてください。範囲 a..b はテキスト "a->b" として表し、値が1つだけの場合は "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" となります。

lock icon提出時に隠しテスト+16件

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"]