OSDN Git Service

Fix a tiny issue
authorLynn Speng <36693973+Lynn-Speng@users.noreply.github.com>
Thu, 29 Oct 2020 16:59:23 +0000 (00:59 +0800)
committerGitHub <noreply@github.com>
Thu, 29 Oct 2020 16:59:23 +0000 (00:59 +0800)
Correct the wrong index.

docs/string/kmp.md

index 99b48de..7098f16 100644 (file)
@@ -122,7 +122,7 @@ $$
 
 如果我们找到了这样的长度 $j$ ,那么仅需要再次比较 $s[i + 1]$ 和 $s[j]$ 。如果它们相等,那么就有 $\pi[i + 1] = j + 1$ 。否则,我们需要找到子串 $s[0\dots i]$ 仅次于 $j$ 的第二长度 $j^{(2)}$ ,使得前缀性质得以保持,如此反复,直到 $j = 0$ 。如果 $s[i + 1] \neq s[0]$ ,则 $\pi[i + 1] = 0$ 。
 
-观察上图可以发现,因为 $s[0\dots \pi[i]] = s[i-\pi[i]+1\dots i]$ ,所以对于 $s[0\dots i]$ 的第二长度 $j$ ,有这样的性质:
+观察上图可以发现,因为 $s[0\dots \pi[i]-1] = s[i-\pi[i]+1\dots i]$ ,所以对于 $s[0\dots i]$ 的第二长度 $j$ ,有这样的性质:
 
 $$
 s[0 \dots j - 1] = s[i - j + 1 \dots i]= s[\pi[i]-j\dots \pi[i]-1]