We have two strings a
and b
respectively. The length of a
is greater than or equal to b
. We have to find out the longest common substring. If there are multiple answers then we have to output the substring which comes earlier in b
(earlier as in whose starting index comes first).
Note: The length of a
and b
can be up to 106.
I tried to find the longest common substring using suffix array (sorting the suffixes using quicksort). For the case when there is more than one answer, I tried pushing all the common substrings in a stack which are equal to the length of the longest common substring.
I wanted to know is there any faster way to do so?