Как найти наибольшую по длине возрастающую последовательность подряд идущих элементов в Python

Основная задача гласит так: Дан список из 30 элементов. Элементы списка могут принимать произвольные целые значения. Найти наибольшую по длине возрастающую последовательность подряд идущих элементов. Если таких последовательностей несколько, можно вывести любую из них. помогите если не сложно.


Ответы (1 шт):

Автор решения: Zhihar

обычно подобные задачи решаются следующим образом:

  1. вы накапливаете временную (рабочую) последовательность
  2. как только она заканчивается (следующий элемент меньше или закончились числа), то сравниваете с итоговой последовательностью (которая вначале пустая)
  3. и если размер итоговой последовательности меньше - заменяете ее на временную
  4. временную обнуляете

в итоге всего кода строчек 5

недостаток только 1 - производительность и требования к памяти, но если вам не гигабайты чисел передают, то терпимо

если же нужен максимально быстрый алгоритм, то вместо последовательностей используются числа начала подпоследовательности и длина подпоследовательности

код в этом случае строчек 10

→ Ссылка