Menu
CoddyTech

Longest Common Subsequence

Ricevi due stringhe, text1 e text2. Una sottosequenza di una stringa conserva alcune delle sue lettere nell’ordine originale e scarta le altre; le lettere conservate non devono essere necessariamente vicine. Restituisci la lunghezza della stringa più lunga che è una sottosequenza di entrambe, oppure 0 se le due stringhe non hanno lettere in comune.

Funzione

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
la prima stringa
text2string
la seconda stringa
Restituisceinteger
la lunghezza della sottosequenza comune più lunga

Vincoli

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • Entrambe le stringhe contengono solo lettere inglesi minuscole.

Esempi

Input
text1 = "stone"text2 = "longest"
Output
3
Spiegazione
o, n, e compaiono in quest’ordine in entrambe le parole, quindi one è una sottosequenza comune di lunghezza 3. In longest le lettere s e t vengono per ultime, mentre in stone vengono per prime, quindi una sottosequenza comune che le usa può essere solo st, che è più corta.

lock icon+19 test nascosti all’invio

challenge icon

Per approfondire

Puoi restituire una delle sottosequenze comuni più lunghe, non solo la sua lunghezza?

Ripristina il codice
def longestCommonSubsequence(text1, text2):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

text1 = "stone"
text2 = "longest"

Atteso

3