请问个 最长公共子序列 问题
时间:2011-12-17
来源:互联网
#include <iostream>
using namespace std;
int Max(int x,int y)
{
return x>y ? x : y ;
}
void maxLen(char* X,char* Y,int I,int J)
{
int** M=new int*[I];
int Len=0;
int i,j;
for(int num=0;num<I;num++)
M[num] = new int[J];
for(int i=0;i<I;i++)
M[i][0]=0;
for(int j=0;j<J;j++)
M[0][j]=0;
for(i=1;i<I;i++)
for(j=1;j<J;j++)
{
if(X[i]=Y[j])
M[i][j]=M[i-1][j-1]+1;
else
M[i][j]=Max(M[i-1][j],M[i][j-1]);
}
cout << M[I-1][J-1] << endl;
for(int num=0;num<I;num++)
delete []M[num];
delete[]M;
M=0;
}
int main()
{
char X[7]={'A','B','C','B','D','A','B'};
char Y[7]={'B','D','C','A','B','A'};
maxLen(X,Y,7,6);
/*int *m;
m=new int[3];
for (int i=0;i<3;i++)
{m[i]=i;cout << m[i];}
*/
// cout << Max(3,4);
return 0;
}
结果等于5是什么意思??
using namespace std;
int Max(int x,int y)
{
return x>y ? x : y ;
}
void maxLen(char* X,char* Y,int I,int J)
{
int** M=new int*[I];
int Len=0;
int i,j;
for(int num=0;num<I;num++)
M[num] = new int[J];
for(int i=0;i<I;i++)
M[i][0]=0;
for(int j=0;j<J;j++)
M[0][j]=0;
for(i=1;i<I;i++)
for(j=1;j<J;j++)
{
if(X[i]=Y[j])
M[i][j]=M[i-1][j-1]+1;
else
M[i][j]=Max(M[i-1][j],M[i][j-1]);
}
cout << M[I-1][J-1] << endl;
for(int num=0;num<I;num++)
delete []M[num];
delete[]M;
M=0;
}
int main()
{
char X[7]={'A','B','C','B','D','A','B'};
char Y[7]={'B','D','C','A','B','A'};
maxLen(X,Y,7,6);
/*int *m;
m=new int[3];
for (int i=0;i<3;i++)
{m[i]=i;cout << m[i];}
*/
// cout << Max(3,4);
return 0;
}
结果等于5是什么意思??
作者: oiy37215 发布时间: 2011-12-17
没人知道吗
作者: oiy37215 发布时间: 2011-12-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28