令 A = {t | P[0, t) = P[j - t, j)} ,即A是所有使得P[0,j)的前缀与后缀相等的长度t,如何计算next[j]?
A: next[j] = min A
B: next[j] = max A
C: next[j] = |A| (A中的元素个数)
D: next[j] = max A - |A|
A: next[j] = min A
B: next[j] = max A
C: next[j] = |A| (A中的元素个数)
D: next[j] = max A - |A|
举一反三
- 在通过next[j]计算next[j+1]的递推过程中next[j+1] == next[j] + 1当且仅当: A: j = 0 B: P[j] = P[next[j] - 1] C: T[j] = P[j] D: P[j] = P[next[j]]
- 以下程序输出正确的是_______ amovep(int *p,int (*a)[3],int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5}, {2,4,6}}; p=(int*)mallox(100) amovep)p,a,3); printf("%d%d\n",p[2],p[5]);free(p) }[/i] A: 56 B: 25 C: 34 D: 程序错误
- 以下程序段执行后p的值是( )。int a[3][3]={3,2,1,3,2,1,3,2,1}; int j,k,p=1;for(j=0;j<2;j++)for(k=j;k<3;k++)p*=a[j][k];
- 在KMP算法中,用next 数组存放模式串的部分匹配信息﹐模式串位j与目标串i比较,如果两字符相等时,则j的位移方式是 A: j++ B: j=0 C: j=next[j] D: j=i-j+1
- 下面____程序段不能正确显示1!、2!、3!、4!的值。 A: For I=1 To 4 n=1 For j=1 to I n=n*j Next j Print n Next I B: For I=1 To 4 For j=1 to I n=1 n=n*j Next j Print n Next I C: n=1 For j=1 to 4 n=n*j Print n Next j D: n=1:j=1 Do While j<=4 n=n*j Print n j=j+1Loop