<prompt> Kwa kuzingatia mifuatano miwili, tafuta na urudishe kamba ndefu zaidi ya kawaida.  <response>: Mfuatano mdogo wa kawaida wa mifuatano abcdef na abcxyz ni abc. Ili kupata hili, tunaweza kutumia programu inayobadilika ili kufuatilia urefu wa kamba ndogo ya kawaida inayoishia katika kila nafasi katika mifuatano yote miwili. Hapa kuna njia moja ya kuifanya: def longest_common_substringstr1, str2: m, n lenstr1, lenstr2 dp 0 n 1 kwa _ katika safum 1 max_len, end_idx 0, 0 kwa i katika safu1, m 1: kwa j katika safu1, n 1: ikiwa str1i - 1 str2j - 1: dpij dpi - 1j - 1 1 ikiwa dpij max_len: max_len dpij end_idx i - 1 kurudi str1end_idx - max_len 1: end_idx 1 longest_common_substringabcdef, abcxyz Msimbo huu unarejesha abc ambao ndio kamba ndefu zaidi ya kawaida kati ya mifuatano hiyo miwili. 