当前位置:首页计算机类软件水平考试初级程序员->阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。

阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。

【说明】

计算一个整数数组a的最长递增子序列长度的方法描述如下:

假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度为 ;其中b[i]满足最优子结构,可递归定义为:

初级程序员,章节练习,初级程序员押题

【C代码】

下面是算法的C语言实现。

(1)常量和变量说明

a:长度为n的整数数组,待求其最长递增子序列

b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,其中0≤i<n

len:最长递增子序列的长度

i, j:循环变量

temp:临时变量

(2)C程序

#include

int maxL(int*b, int n) {

int i, temp=0;

for(i=0; i

if(b[i]>temp)

temp=b[i];

}

return temp;

}

int main() {

int n, a[100], b[100], i, j, len;

scanf("%d", &n);

for(i=0; i

scanf("%d", &a[i]);

}

(1) ;

for(i=1; i

for(j=0, len=0; (2) ; j++) {

if( (3) && len

len=b[j];

}

(4) ;

}

Printf("len:%d\n", maxL(b,n));

printf("\n");

}

【问题1】(8分)

根据说明和C代码,填充C代码中的空(1)~(4)。

【问题2】(4分)

根据说明和C代码,算法采用了 (5) 设计策略,时间复杂度为 (6) (用O符号表示)。

【问题3】(5分)

已知数组a={3,10,5,15,6,8},据说明和C代码,给出数组b的元素值。

查看答案 纠错
答案:
本题解析:

【问题1】

(1)b[0]=1

(2)j<i

(3)a[j]<=a[i]

(4)b[i]=len+1

【问题2】(4分)

(5)动态规划法

(6)O(n2)

【问题3】(5分)

B={1,2,2,3,3,4}

更新时间:2022-10-25 15:26

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.P (S6) 和 P (S7) V (S8)
  • B.V(S6)和V(S7)V(S8)
  • C.P(S6)和P(S7)P(S8)
  • D.V(S7)和P(S7)P(S8)
查看答案
问答题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

中级软件设计师,章节练习,中级软件设计师计算机系统知识中级软件设计师,章节练习,中级软件设计师计算机系统知识

查看答案
单选题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

  • A.A
  • B.B
  • C.C
  • D.D
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

  • A.R
  • B.S
  • C.RS
  • D.R,S
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

  • A.A,R.C,F,G
  • B.A,C,S.B,S.F
  • C.A,C,S.B,S.C
  • D.R.A,R.C,S.B,S.C
查看答案