Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Given two strings x = x_1x_2 x_n and y = y_1y_2 y_m, we wish to find the length

ID: 3773819 • Letter: G

Question

Given two strings x = x_1x_2 x_n and y = y_1y_2 y_m, we wish to find the length of their longest common substring, that is, the largest k for which there are indices i and j with x_ix_i+1 x_i+k-1 = y_iy_j+1 y_j+k-1. For example, if x = thecatruns and y = acatran, then the longest common substring is catr Write a Python program that solves this problem with running time in O(n^3). Write a Python program called LCS such that LCS(x, y, i, j) computes and returns the length of the longest common substring of x[0: i + 1] and y[0: j + 1], with the condition that this common substring must include:x[i] and y[j]. LCS does not directly solves our problem yet. Use this function LCS(x, y, i, j) to find the length of longest common substring of x and y. Compare the raw running times of these two Python programs with at least 10 different values of x and y. Write a Python program that finds the length of the longest common subsequence of x and y. For example, if x = thecatruns and y = acatran, then the longest common subsequence is c, a, t, r, n. For this problem, you can define a function lcs(x, y, i, j) to be the length of the longest common subsequence of x[0: i + 1] and y[0: j +1].

Explanation / Answer

Answer1:

def largest_common_substring(S1,S2):
m = len(S1)
n = len(S2)
counter = [[0]*(n+1) for x in range(m+1)]
largest = 0
lrgest_common_set = set()
for i in range(m):
for j in range(n):
if S1[i] == S2[j]:
c = counter[i][j] + 1
counter[i+1][j+1] = c
if c > largest:
lrgest_common_set = set()
largest = c
lrgest_common_set.add(S1[i-c+1:i+1])
elif c == largest:
lrgest_common_set.add(S1[i-c+1:i+1])

return lrgest_common_set

ret = largest_common_substring('acatran', 'thecatruns')
for s in ret:
print(s)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote