KMP的next数组怎么求?

目录

最大前后缀怎么求?

求next数组的方法(手把手教学)

实战:软考真题

最大前后缀怎么求?

举例:ababa的最大前后缀长度是多少?

答案:

  • 前缀(从头开始,每次长度+1):a, ab, aba, abab
  • 后缀(从尾开始,每次长度+1):a, ba, aba, baba

因此最大前后缀是aba,长度为3.

求next数组的方法(手把手教学)

第一步:前两位直接填0、1

第二步:后面的值 = 初始值(1)+ 前面字符串(不含当前元素)的最大前后缀长度

举例

求ababaaababaa 的next数组

解答:

第一步:前两位直接填0、1

第二步:后面的值 = 初始值(1)+ 前面字符串(不含当前元素)的最大前后缀长度

实战:软考真题

解题:

第一步:前两位直接填0、1

第二步:后面的值 = 初始值(1)+ 前面字符串(不含当前元素)的最大前后缀长度

故本题选B

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~