🙆
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