• 2022-06-19
    对于序列X和Y,用D[i,j]表示X[1..i]和Y[1..j]的最长公共子序列的长度,当X[i]!=Y[j]时,D[i,j]=max{D[i-1,j],D[i,j-1]},下述不正确的是( )?[/i]
    A: D[i-1,j]表示X[i]对求D[i,j]无贡献的情况,D[i,j-1]表示Y[j]对求D[i,j]无贡献的情况
    B: D[i-1,j]表示对X[1..i-1]和Y[1..j]求最长公共子序列
    C: D[i-1,j]和D[i,j-1]表示的含义相同
    D: D[i,j]有可能和D[i,j-1]相等,也有可能大,如果D[i,j]大,则最多大1
  • C

    内容

    • 0

      试分析下面代码段的时间复杂度: for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) { ++x; a[i]&#91;j&#93;=x; }[/i] A: O(1) B: O(n) C: O(n^2) D: O(n^3)

    • 1

      若二维数组a 有m 列,则在a[i]&#91;j&#93;前的元素个数为( )。[/i] A: j ∗ m + i B: i ∗ m + j C: i ∗ m + j – 1 D: i ∗ m + j + 1

    • 2

      以下程序的输出结果是 main() int b&#91;3&#93;&#91;3&#93;=0,1,2,O,l,2,0,1,2,i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i]&#91;b&#91;j&#93;&#91;j&#93;&#93;; printf("%d\n",t);[/i] A: 3 B: 4 C: 1 D: 9

    • 3

      【单选题】运行下面的程序,得到的输出是()#include<stdio.h>int main() { int i, j; for(i=1;i<=2;i++) for(j=1;j<=2;j++) printf("i=%d, j=%d ",i,j);} A. i=1,  j=1 i=1 , j=2 i=2 , j=1 i=2 , j=2 B. i=1,  j=1 i=2 , j=1 i=1 , j=2 i=2 , j=2 C. i=1,  j=1 i=2 , j=2 i=1 , j=1 i=2 , j=2 D. i=1,  j=1 i=1 , j=1 i=2 , j=2 i=2 , j=2

    • 4

      若二维数组a有m列,则在数组元素a[i]&#91;j&#93;前的元素个数为()[/i] A: j * m + i B: i * m + j C: i * m + j - 1 D: j * m + i - 1