Classes d'algorithmes

1 h 5 exercices Niveau 8

Énoncé

Développez un algorithme pour trouver la longueur de la plus grande sous-séquence commune entre deux chaînes.

Exemple de Code

def lcs(X, Y):
    m = len(X)
    n = len(Y)
    L = [[0] * (n+1) for _ in range(m+1)]

    for i in range(m+1):
        for j in range(n+1):
            if i == 0 or j == 0:
                L[i][j] = 0
            elif X[i-1] == Y[j-1]:
                L[i][j] = L[i-1][j-1] + 1
            else:
                L[i][j] = max(L[i-1][j], L[i][j-1])

    return L[m][n]

# Exemple d'utilisation
X = "AGGTAB"
Y = "GXTXAYB"
print("Length of LCS is ", lcs(X, Y))
logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus