TGViewer
Python Learning Python Learning @python_per_month · 28.1K subscribers
Post #1988 4.67K
#Вопросы_с_собеседования

Напишите функцию на 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], и выведет ее в консоль.
  • 👍 13
  • 😢 2
  • 🏆 2
  • 🍾 1
  • 🗿 1
More from @python_per_month
  1. Sep 14, 2026➡️ Memray — профилирование памяти для Python Memray — это современный инструмент для профи…
  2. Aug 17, 2026Срезы Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовател…
  3. Aug 11, 2026Нейросеть, LLM (большие языковые модели) и ИИ-агент Эти слова в разговорах часто использую…
  4. Jul 23, 2026👩‍💻 Задача по Python Создайте функцию find_longest_substring для поиска самой длинной по…
  5. Jul 13, 2026🔥 Три разных человека. Три разных проекта. Один и тот же подход. — Юра взял «скучную» ниш…
  6. Jul 11, 2026⚙️ enumerate() Когда тебе нужно итерировать по списку с доступом к индексу элемента, испол…
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 →