Class LongestCommonSubstring


  • public class LongestCommonSubstring
    extends Object
    The LongestCommonSubstring class provides a SuffixArray client for computing the longest common substring that appears in two given strings.

    This implementation computes the suffix array of each string and applies a merging operation to determine the longest common substring. For an alternate implementation, see LongestCommonSubstringConcatenate.java.

    For additional documentation, see Section 6.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

    Author:
    Robert Sedgewick, Kevin Wayne
    • Method Detail

      • lcs

        public static String lcs​(String s,
                                 String t)
        Returns the longest common string of the two specified strings.
        Parameters:
        s - one string
        t - the other string
        Returns:
        the longest common string that appears as a substring in both s and t; the empty string if no such string
      • main

        public static void main​(String[] args)
        Unit tests the lcs() method. Reads in two strings from files specified as command-line arguments; computes the longest common substring; and prints the results to standard output.
        Parameters:
        args - the command-line arguments