Longest Common Substring

Problem Link: https://practice.geeksforgeeks.org/problems/longest-common-substring1452/1

class Solution:
    def longestCommonSubstr(self, S1, S2, m, n):
        # code here
        ans=float(-9999999)
        dp=[[0 for i in range(n+1)] for j in range(m+1)]
        for i in range(m+1):
            for j in range(n+1):
                if(i==0 or j==0):
                    dp[i][j]=0
                else:
                    if(S1[i-1]==S2[j-1]):
                        dp[i][j]=1+dp[i-1][j-1]
                        ans=max(ans,dp[i][j])
                    else:
                        dp[i][j]=0
        if(ans==-9999999):
            return 0
        else:
            return ans

Last updated