永发信息网

关于子序列的问题

答案:2  悬赏:70  手机版
解决时间 2021-02-21 21:33
下面选项中t不是s的子序列的是 ( C )
A、s=<{2,4},{3,5,6},{8}> t=<{2},{3,6},{8}>
B、s=<{2,4},{3,5,6},{8}> t=<{2},{8}>
C、s=<{1,2},{3,4}> t=<{1},{2}>
D、s=<{2,4},{2,4}> t=<{2},{4}>

为什么选择C。大神给解释一下!!!谢谢了
最佳答案
这里的“子序列”每个集合均为原对应集合的一个子集。现{2}不是{3,4}的子集。
全部回答
“abcbdab”和“bdcaba”的最长公共子序列是bcba?不对吧! 如果你想得到abcb,看看下边: #include #include void lcslength(char *x,char *y,int m,int n,int c[][100],int b[][100]) { puts(x); puts(y); int i,j; for(i=0;i<=m;i++) c[i][0]=0; for(j=1;i<=n;j++) c[0][j]=0; for(i=1;i<=m;i++) for(j=1;j<=n;j++) { if(x[i-1]==y[j-1]) { c[i][j]=c[i-1][j-1]+1; b[i][j]=0; } else if(c[i-1][j]>=c[i][j-1]) { c[i][j]=c[i-1][j]; b[i][j]=1; } else { c[i][j]=c[i][j-1]; b[i][j]=-1; } } } void printlcs(int b[][100], char *x, int i, int j) { if(i==0 || j==0) return; if(b[i][j]==0) { printf("%c",x[i-1]);//先输出,再递归 printlcs(b,x,i-1,j-1); //printf("%c",x[i-1]); } else if(b[i][j]==1) printlcs(b,x,i-1,j); else printlcs(b,x,i,j-1); } void main() { char x[100]={"abcbdab"}; char y[100]={"bdcaba"}; int c[100][100]; int b[100][100]; int m,n; m=strlen(x); n=strlen(y); lcslength(x,y,m,n,c,b); printf("最长子序列为:"); printlcs(b,x,m,n); printf("\n"); printf("最长子序列长度为:%d\n",c[m][n]); } 因为你是先递归,再输出,所以输出是从内往外走(递归返回时输出) 如果你改为先输出再递归,这每递归一层就输出一个结果,递归返回时不再输出。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个人说我没有气质,但是他会帮助我成为一个
北环路/X006(路口)怎么去啊,有知道地址的么
青藏高原的冰川和湖泊是气候变化敏感的指示器
部落冲突破解版网址
中国传媒大学艺术特长生的要求是什么?
业之峰装璜建材商店怎么去啊,有知道地址的么
混凝土桩基液压破桩机好上手吗
氢气是不是化合物
tv.bbs886.com域名改成什么了 求解
如果要谈谈气候变化对土壤的影响.要谈那些方
58同城会自动复制一份简历,并且将保密改为公
qq华夏神医适合带什么战魂
龙陵县中医医院(东北门)怎么去啊,有知道地址
男友说:不要为他做太多事,好好过好你自己的生
安徽大学研究生是自主划线吗
推荐资讯
怎么破解计算机用户名密码
努尔鲁克阿亚特维医门诊这个地址在什么地方,
东南方向收不到卫星信号,还有可能看卫星电视
闹(打一成语)
买车摇号今天申请的这是什么意思?今天刚拿到
京瓷自创立以来五十多年从未亏损的原因是什么
平鱼怎么做好吃
【焕然】焕然的近义词
为什么香港BGP服务器那么好
金华生活便利超市怎么去啊,有知道地址的么
我想组装一台电脑!!!!求方案
已知函数y=√kx^2+4kx+3的定义域是R,求k的取
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?