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

Test #1

Test #2

Argument

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

Oczekiwany wynik

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