Dizajni një algoritëm për gjetjen e nënrreshtit më të gjatë të përbashkët midis dy shtresash
s1 = "ABCDGH" s2 = "AEDFHR"
LCS(s1, s2): m = len(s1) n = len(s2) # deklaron matricën për ruajtjen e vlerave dp L = [[None]*(n + 1) për _ në varg ((m + 1)] """Hapat e mëposhtëm ndërtojnë L[m + 1][n + 1] në mënyrë nga poshtë lart Shënim: L[i][j] përmban gjatësi të LCS të X[0..i-1] dhe Y[0..j-1]"" për i në varg m + 1): # rreshta e mëparshme është të gjitha zero, # pasi asnjë sekuencë e përbashkët tjetër nuk mund t'i përdorë ato për j në varg n + 1): # kolonat e para të të gjitha rreshtave janë 0 == nëse i == 0 ose j: 0 L[i][j] = 0f1 s[i-1] == s[j] == s[j-1] L[i][j] = L[i][j] = L[i][j][j] = L[i][j] = Y[j] = Y[j][j][