Самая длинная последовательность подряд идущих чисел через множество
Реализуйте функцию longest_streak(nums).
Вход: nums — список целых чисел в произвольном порядке (могут быть дубликаты, отрицательные числа и ноль).
Выход: целое число — длина самой длинной последовательности подряд идущих целых чисел, которые присутствуют в списке. Например, для [100, 4, 200, 1, 3, 2] это 4 (числа 1, 2, 3, 4). Дубликаты длину не увеличивают: в [1, 2, 2, 3] ответ 3.
Краевые случаи:
- пустой список: вернуть
0; - один элемент: вернуть
1; - список из одинаковых значений: вернуть
1.
Требование по сложности: O(n) в среднем. Сортировать список нельзя — решение должно опираться на множество, а не на sorted.
Возвращать нужно только длину, сами числа не требуются.
заготовка решения
def longest_streak(nums):
# ваш код
pass