Menu
CoddyTech

Longest Common Subsequence

Vous recevez deux chaînes, text1 et text2. Une sous-séquence d’une chaîne conserve certaines de ses lettres dans leur ordre d’origine et supprime les autres ; les lettres conservées n’ont pas besoin d’être voisines. Renvoyez la longueur de la plus longue chaîne qui est une sous-séquence des deux, ou 0 si les deux chaînes n’ont aucune lettre en commun.

Fonction

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
la première chaîne
text2string
la deuxième chaîne
Renvoieinteger
la longueur de la plus longue sous-séquence commune

Contraintes

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • Les deux chaînes contiennent uniquement des lettres minuscules de l’alphabet anglais.

Exemples

Entrée
text1 = "stone"text2 = "longest"
Sortie
3
Explication
o, n et e apparaissent dans cet ordre dans les deux mots, donc one est une sous-séquence commune de longueur 3. Dans longest, les lettres s et t viennent en dernier, tandis que dans stone, elles viennent en premier. Une sous-séquence commune qui les utilise ne peut donc être que st, qui est plus courte.

lock icon+19 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu renvoyer une plus longue sous-séquence commune elle-même, et pas seulement sa longueur ?

Réinitialiser le code
def longestCommonSubsequence(text1, text2):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

text1 = "stone"
text2 = "longest"

Attendu

3