Menu
CoddyTech

Summary Ranges

Otrzymujesz posortowaną tablicę nums zawierającą różne liczby całkowite. Podziel ją na jak najmniej zakresów kolejnych liczb całkowitych, tak aby każda wartość należała dokładnie do jednego zakresu. Zapisz zakres a..b jako tekst "a->b" lub jako "a", jeśli zawiera jedną wartość. Zwróć zakresy w kolejności rosnącej.

Funkcja

summaryRanges(nums: integer-array) → string-array
numsinteger-array
posortowana tablica różnych liczb całkowitych
Zwracastring-array
zakresy jako tekst, od najmniejszych wartości do największych

Ograniczenia

  • 1 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums jest posortowana w kolejności rosnącej i nie zawiera duplikatów.

Przykłady

Wejście
nums = [0, 1, 2, 5, 6, 9]
Wyjście
["0->2", "5->6", "9"]
Wyjaśnienie
0, 1, 2 następują po sobie, więc tworzą "0->2". Przeskok z 2 do 5 rozpoczyna nowy zakres, "5->6", a 9 występuje samodzielnie jako "9".

lock icon+16 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Załóżmy, że nums może zawierać powtarzające się wartości, na przykład [1, 2, 2, 3]. Co byś zmienił, aby nadal wypisywał "1->3"?

Zresetuj kod
def summaryRanges(nums):
    # Wpisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Wejście

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

Oczekiwane

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