Top 150 InterviewСредний

Longest Common Subsequence

Detailed guide and Python implementation for the 'Longest Common Subsequence' problem.

Постановка задачи

Средний

Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0.

A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters. (For example, "ace" is a subsequence of "abcde").

Write a function longestCommonSubsequence(text1: str, text2: str) -> int.

Ограничения
  • 1 <= len(text1), len(text2) <= 1000
  • text1 and text2 consist of only lowercase English characters

Примеры

Example 1
Input
text1 = "abcde", text2 = "ace"
Output
3
Explanation

The longest common subsequence is "ace" and its length is 3.

Example 2
Input
text1 = "abc", text2 = "abc"
Output
3
Explanation

The longest common subsequence is "abc" and its length is 3.

Example 3
Input
text1 = "abc", text2 = "def"
Output
0
Explanation

There is no common subsequence, so the result is 0.

Need a Hint?
Consider using 2D DP-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Готовы решить?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Циклы Python

Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.

Посмотреть ресурс
Практическое руководство

Как отсортировать список в Python

Узнайте, как сортировать список в Python с помощью метода sort() и функции sorted(). Ознакомьтесь с примерами пользовательской сортировки ключей и обратного порядка.

Посмотреть ресурс
Шпаргалка

Шпаргалка по строковым методам Python

Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.

Посмотреть ресурс
Сравнение языков

Python против JavaScript: какой язык программирования лучше?

Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.

Посмотреть ресурс