Условие:
Необходимо написать программу, которая анализирует числовую последовательность и извлекает из неё различные характеристики.
Самую длинную строго возрастающую подпоследовательность подряд
Самую длинную строго убывающую подпоследовательность подряд
Локальные максимумы
Локальные минимумы
Повторяющиеся блоки
Изменение названия функции и её параметров категорически запрещено!
Формат входных данных
Подготовлена функция вида:
\ndef sequence_report(numbers):
На вход функции передаётся:
\nnumbers — список целых чисел, длина списка не меньше 10
числа могут:
повторяться
быть отрицательными
быть равными нулю
Формат выходных данных
Функция должна вернуть словарь вида:
{'longest_increasing': [...],
'longest_decreasing': [...],
'local_maxima': [...],
'local_minima': [...],
'repeated_blocks': [...]}
где:
\nlongest_increasing - самую длинную строго возрастающую подпоследовательность подряд.
Пример:
[2, 5, 6, 7]
(элементы идут друг за другом без пропусков)
\nlongest_decreasing - cамую длинную строго убывающую подпоследовательность подряд.
Пример:
[4, 3, 2]\nlocal_maxima - локальные максимумы.
Число является локальным максимумом,
если оно больше соседей слева и справа:
numbers[i - 1] < numbers[i] > numbers[i + 1]
первый и последний элементы не учитываются
\nlocal_minima - локальные минимумы
Число является локальным минимумом,
если оно меньше соседей слева и справа:
numbers[i - 1] > numbers[i] < numbers[i + 1]
первый и последний элементы не учитываются
\nrepeated_blocks - Повторяющиеся блоки
Повторяющимся блоком считается группа одинаковых чисел, идущих подряд, длиной не менее 3 элементов.

