🙆
228. Summary Ranges
あなたには、昇順にソートされた重複のない整数配列 nums が与えられます。
区間 [a, b] とは、a から b までのすべての整数(両端を含む)からなる集合のことです。
この配列のすべての数を正確にカバーする、最小のソートされた区間リストを返してください。
つまり、nums の各要素はちょうど1つの区間に含まれており、また**nums に含まれない整数が区間に含まれることはない**ようにしてください。
リスト内の各区間 [a, b] は、次のように出力してください:
-
a != bの場合は"a->b"の形式で出力 -
a == bの場合は"a"の形式で出力
例 1:
入力: nums = [0,1,2,4,5,7]
出力: ["0->2", "4->5", "7"]
説明: 区間は次の通りです:
-
[0,2]→"0->2" -
[4,5]→"4->5" -
[7,7]→"7"
例 2:
入力: nums = [0,2,3,4,6,8,9]
出力: ["0", "2->4", "6", "8->9"]
説明: 区間は次の通りです:
-
[0,0]→"0" -
[2,4]→"2->4" -
[6,6]→"6" -
[8,9]→"8->9"
制約:
0 <= nums.length <= 20-2³¹ <= nums[i] <= 2³¹ - 1-
numsのすべての値は一意(ユニーク)です。 -
numsは昇順にソートされています。
Discussion