Собери числа в отрезки

Когда числа идут подряд, их удобнее показывать одним диапазоном, а не длинным списком. Дан отсортированный массив уникальных целых чисел array. Нужно объединить соседние числа в непрерывные отрезки и вернуть их как пары [start, end]. Если число стоит отдельно, его диапазон будет [x, x].

Примеры

Ввод
[[0, 1, 2, 4, 5, 7]]
Вывод
[[0, 2], [4, 5], [7, 7]]
Ввод
[[-5, -4, -3, 1, 2, 4, 5, 6]]
Вывод
[[-5, -3], [1, 2], [4, 6]]
Ввод
[[-2, -1, 0, 1, 2]]
Вывод
[[-2, 2]]

Нужно реализовать

def summarize_ranges(array: list[int]) -> list[list[int]]:

Теги

array
PostgreSQLv16

Здесь будет результат выполнения кода

Видимые тесты
1
Ввод
[0,1,2,4,5,7]
Ожидаемый[[0,2],[4,5],[7,7]]
2
Ввод
[-5,-4,-3,1,2,4,5,6]
Ожидаемый[[-5,-3],[1,2],[4,6]]
3
Ввод
[-2,-1,0,1,2]
Ожидаемый[[-2,2]]
4
Ввод
[1]
Ожидаемый[[1,1]]
5
Ввод
[-2,-1,0,1,2,-2]
Ожидаемый[[-2,2],[-2,-2]]
6
Ввод
[7,5,4,2,1,0]
Ожидаемый[[7,7],[5,5],[4,4],[2,2],[1,1],[0,0]]
Фокус-радио
На паузе · SomaFM · Fluid