 Concevoir un algorithme pour trouver la plus longue sous-séquence commune entre deux chaînes
 s1 = 'ABCDGH'\ns2 = 'AEDFHR'
def LCS(s1, s2): \nm = len(s1) \nn = len(s2)\n \n # déclaration du tableau pour stocker les valeurs dp \n L = [[Aucun]*(n + 1) pour _ in range(m + 1)] \n \n """Les étapes suivantes permettent de construire L[m + 1][n + 1] de manière ascendante \n Remarque : L[i][j] contient la longueur du SCL de X[0..i-1] \n et Y[0..j-1]"""\n for i in range(m + 1): \n # la ligne précédente contient uniquement des zéros, \n # comme non la séquence commune peut faire en les utilisant \n pour j dans la plage (n + 1): \n # les premières colonnes de toutes les lignes sont 0 \n si i == 0 ou j == 0 : \n L[i][j] = 0\n elif s1[i-1] == s2[j-1] : \n L[i][j] = L[i-1][j-1]+1\n sinon : \n L [i][j] = max(L[i-1][j] , L[i][j-1]) \n \n # L[m][n] contient la longueur du SCL de X[0 ..n-1] & Y[0..m-1] \n renvoie L[m][n]