永发信息网

串ababaaababaa的next数组为

答案:3  悬赏:30  手机版
解决时间 2021-03-21 10:27
  • 提问者网友:别再叽里呱啦
  • 2021-03-20 22:29
串ababaaababaa的next数组为
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-03-20 23:59


ababaa
全部回答
  • 1楼网友:酒者煙囻
  • 2021-03-21 00:59
0 0 2 0 3 1 1 0 3 0
  • 2楼网友:老鼠爱大米
  • 2021-03-21 00:14
计算字符串的next函数值,可以参考"kmp模式匹配算法". 计算过程: 下标j   1  2  3  4  5  6  7  8  9  10  11  12 字符串  a  b  a  b  a  a  a  b  a   b   a   a next[j] 0  1  1  2  3  4  2  2  3   4   5   6     1) 当j=1时,固定就是next[1]=0; 2) 当j=2时,由1到j-1的字符串是"a",属于其他情况,固定就是next[2]=1; 3) 当j=3时,由1到j-1的字符串是"ab",前缀字符"a"与后缀字符"b"不相等,    属于其他情况,所以,next[3]=1; 4) 当j=4时,由1到j-1的字符串是"aba",前缀字符"a"与后缀字符"a"相等,    也就是有1个字符相等,所以,next[4]=1+1=2; 5) 当j=5时,由1到j-1的字符串是"abab",前缀字符"ab"与后缀字符"ab"相等,    也就是有2个字符相等,所以,next[5]=2+1=3; 6) 当j=6时,由1到j-1的字符串是"ababa",前缀字符"aba"与后缀字符"aba"相等,    也就是有3个字符相等,所以,next[6]=3+1=4; 7) 当j=7时,由1到j-1的字符串是"ababaa",前缀字符"a"与后缀字符"a"相等,    也就是有1个字符相等,所以,next[7]=1+1=2; 8) 当j=8时,由1到j-1的字符串是"ababaaa",前缀字符"a"与后缀字符"a"相等,    也就是有1个字符相等,所以,next[8]=1+1=2; 9) 当j=9时,由1到j-1的字符串是"ababaaab",前缀字符"ab"与后缀字符"ab"相等,    也就是有2个字符相等,所以,next[9]=2+1=3; 10)当j=10时,由1到j-1的字符串是"ababaaaba",前缀字符"aba"与后缀字符"aba"相等,    也就是有3个字符相等,所以,next[10]=3+1=4; 11)当j=11时,由1到j-1的字符串是"ababaaabab",前缀字符"abab"与后缀字符"abab"相等,    也就是有4个字符相等,所以,next[11]=4+1=5; 12)当j=12时,由1到j-1的字符串是"ababaaababa",前缀字符"ababa"与后缀字符"ababa"相等,    也就是有5个字符相等,所以,next[12]=5+1=6; 所以,答案选 c.011234223456
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯