RT,求问需对子串 [l,n] 做kmp算法,p和ne的初始值该如何设定?
这是输出鬼畜负数的代码:
for(int l = 1,p;l <= n;l++)
{
p = l - 1;
ne[l][l] = l - 1;
for(int i = l + 1;i <= n;i++)
{
while(p != l - 1 && str[p + 1] != str[i])
{
p = ne[l][p];
}
if(str[p + 1] == str[i])
p++;
ne[l][i] = p;
printf("ne[%d][%d] = %d\n",l,i,ne[l][i]);
}
}