字符串next和nextval值的計算
針對字符串ababaabab
,計算next
和nextval
的值。
-
第一行是序號,從0開始。
-
第二行是字符串的元素
-
第三行是
next
值,爲當前位置前面字符串收尾重複的最長字符個數。 -
第四行是
nextval
值,當以next
和以i
爲索引的字符不相同時,nextval
值就是next
值。當兩個字符相同時,nextval
值是以next
爲索引的nextval
值。
next 值的計算
舉個例子,當i=5
時,計算方法如下:
其中,0和1的next
值固定爲-1和0.
nextval值的計算
0的nextval
值固定爲-1
。
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
s | a | b | a | b | a | a | b | a | b |
next | -1 | 0 | 0 | 1 | 2 | 3 | 1 | 2 | 3 |
nextval | -1 | 0 | -1 | 0 | -1 | 3 | 0 | -1 | 0 |
有時候下標從1開始,則nextval
就是010104101
.