Menu
CoddyTech

Longest Common Subsequence

Otrzymujesz dwa ciągi znaków: text1 i text2. Podciąg ciągu znaków zachowuje niektóre jego litery w ich pierwotnej kolejności i pomija pozostałe; zachowane litery nie muszą sąsiadować ze sobą. Zwróć długość najdłuższego ciągu znaków, który jest podciągiem obu ciągów, lub 0, jeśli oba ciągi nie mają żadnej wspólnej litery.

Funkcja

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
pierwszy ciąg znaków
text2string
drugi ciąg znaków
Zwracainteger
długość najdłuższego wspólnego podciągu

Ograniczenia

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • Oba ciągi zawierają wyłącznie małe litery alfabetu angielskiego.

Przykłady

Wejście
text1 = "stone"text2 = "longest"
Wyjście
3
Wyjaśnienie
o, n, e występują w tej kolejności w obu słowach, więc one jest wspólne, długość wynosi 3. Litery s i t występują na końcu longest, ale na początku stone, więc ich użycie daje co najwyżej st.
challenge icon

Pytanie dodatkowe

Czy możesz zwrócić jedną najdłuższą wspólną podsekwencję wraz z jej długością?

Zresetuj kod
def longestCommonSubsequence(text1, text2):
    # Napisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

text1 = "stone"
text2 = "longest"

Oczekiwany wynik

3