diff --git a/ch6/sa_lcp.cpp b/ch6/sa_lcp.cpp index 09fccdc..13e7083 100644 --- a/ch6/sa_lcp.cpp +++ b/ch6/sa_lcp.cpp @@ -73,6 +73,11 @@ class SuffixArray { computeLCP(); // O(n) } + SuffixArray(string& initialT) : T(initialT.c_str()), n((int)initialT.length()) { + constructSA(); // O(n log n) + computeLCP(); // O(n) + } + ii stringMatching(const char *P) { // in O(m log n) int m = (int)strlen(P); // usually, m < n int lo = 0, hi = n-1; // range = [0..n-1]