导航
您当前的位置:首页 > 计算机 > 软件水平
问题:

[问答题] 计算一个整数数组a的最长递增子序列长度的方法描述如下:假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增予序列的长度,则数组a的最长递增子序列的长度为中级软件设计师,历年真题,2014年下半年(下午)《软件设计师》真题;其中b[i]满足最优子结构,可递归定义为:中级软件设计师,历年真题,2014年下半年(下午)《软件设计师》真题【C代码】下面是算法的C语言实现。(1)常量和变量说明a:长度为n的整数数组,待求其最长递增子序列b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,其中0≤i<nlen:最长递增子序列的长度i,j:循环变量temp:临时变量(2)C程序#include<stdio.h>int maxL(int*b,int n){int i,temp=0;for(i=0;i<n;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<n;i++){scanf("%d",&a[i]);}(1);for(i=1;i<n;i++){for(j=0,len=0;(2);j++){if((3)&&len<b[j])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】(3分)已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。
答案解析:

相关问题
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved