Menu
CoddyTech

Longest Common Subsequence

Даны две строки: text1 и text2. Подпоследовательность строки сохраняет некоторые её буквы в исходном порядке, а остальные пропускает; сохранённые буквы не обязательно должны стоять рядом. Верните длину самой длинной строки, которая является подпоследовательностью обеих строк, или 0, если в этих двух строках нет общих букв.

Функция

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
первая строка
text2string
вторая строка
Возвращаетinteger
длина наибольшей общей подпоследовательности

Ограничения

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • Обе строки содержат только строчные английские буквы.

Примеры

Ввод
text1 = "stone"text2 = "longest"
Вывод
3
Пояснение
Буквы o, n, e идут в таком порядке в обоих словах, поэтому one — общая подпоследовательность длины 3. В слове longest буквы s и t стоят в конце, а в слове stone — в начале, поэтому общей подпоследовательностью, в которой они используются, может быть только st, что короче.

lock icon+19 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Можешь вернуть одну наидлиннейшую общую подпоследовательность, а не только её длину?

Сбросить код
def longestCommonSubsequence(text1, text2):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

text1 = "stone"
text2 = "longest"

Ожидается

3