Gjenero një algoritëm për të gjetur nënrreshtin më të gjatë të dy rreshtave
def longest_common_substring(str1, str2): n1 = len(str1) n2 = len(str2) LCSuff = [[0 për i në varg(n2+1)] për j në varg(n1+1)] res = "" # Për të ruajtur gjatësinë e rezultatit length = 0 # Për të ruajtur gjatësinë e rezultatit # ndërtimi i LCSuff[][] në mënyrë poshtë lart për i në varg(n1+1): për j në varg(n2+1): nëse (i == 0 ose j == 0): LCSuff[i][j] = 0 elif (str1[i-1] == str2[j-1]): LCSuff[i][j] = LCSuff[i-1][j-1] + 1 nëse (lenguff LCSuff[i][j]): LCSuff[i][j] = str[i][j] = str[i][j]: LCSuff[i] = str[i][j]: LCSuff[i] = resht