TGViewer
Python tricks | Хитрости Питона Python tricks | Хитрости Питона @python_tricks · 5.08K subscribers
Post #2554 771
Напишите функцию на Python, которая принимает на вход список чисел и возвращает наибольшую возрастающую подпоследовательность (непоследовательные числа, идущие в порядке возрастания) из исходного списка

Для решения этой задачи используется динамическое программирование. Мы создаем массив dp, где dp[i] представляет собой длину наибольшей возрастающей подпоследовательности, заканчивающейся в nums[i]. Затем мы выполняем двойной цикл, чтобы найти наибольшую длину для каждого элемента. После этого мы определяем саму подпоследовательность, начиная с наибольшей длины и двигаясь обратно по массиву dp.

Пример использования:
python
nums = [3, 12, 5, 8, 10, 2, 1]
result = longest_increasing_subsequence(nums)
print(result) # Output: [3, 5, 8, 10]


Эта функция найдет наибольшую возрастающую подпоследовательность из списка [3, 12, 5, 8, 10, 2, 1], которой будет [3, 5, 8, 10], и выведет ее в консоль.

🔗 Python tricks
More from @python_tricks
  1. Sep 23, 2026Однострочный условный оператор (тернарный оператор) В Python существует возможность исполь…
  2. Sep 22, 2026Сложение списков Не всегда операторы в python ведут себя так, как мы привыкли. Например сл…
  3. Sep 22, 2026🔴 Тестовый собес на Middle Python с разработчиком из Яндекса завтра вечером! [+ разбор 50…
  4. Sep 21, 2026Анатомия декоратора в Python Создадим декоратор @hello_decorator. Декоратор в Python — фун…
  5. Sep 21, 2026Настраиваемый логгер-декоратор Начнем с примера использования. Так мы не перегружаем внима…
  6. Sep 2, 2026Использование zip() для одновременной итерации по нескольким спискам Функция zip() позволя…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →