İki dize verildiğinde, en uzun ortak alt dizeyi bulun ve döndürün.
str1 = "abcdef"
str2 = "abcxyz"
# En Uzun Ortak Alt Dizeyi bulan program

def long_common_substring(str1, str2):
 # her iki dizinin uzunluğunu hesaplayın
 l1 = len(str1)
 l2 = len(str2)
 
 # tümü 0 olan bir matrisi başlat
 matrix = [[0 for x in range(l2+1)] for x in range(l1+1)]

 # her iki dizideki her ortak harf için 1 işaretle 
for i in range(l1):
 for j in range(l2):
 if str1[i] == str2[j]:
 matrix[i+1][j+1] = matrix[ i][j] + 1
 else:
 matrix[i+1][j+1] = 0

 # ortak alt dizgenin maksimum uzunluğunu al 
 sonuç = 0
 i aralığında i için( l1+1):
 for j in range(l2+1):
 sonuç = max(sonuç, matris[i][j])

 # sonucu döndür
 sonucu döndür

# Sürücü programı
str1 = "abcdef"
str2 = "abcxyz"
result = long_common_substring(str1, str2)

print("En uzun ortak alt dize:", sonuç) # 3 yazdırır