+ -
当前位置:首页 → 问答吧 → 请问个 最长公共子序列 问题

请问个 最长公共子序列 问题

时间: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是什么意思??

作者: oiy37215   发布时间: 2011-12-17

没人知道吗

作者: oiy37215   发布时间: 2011-12-17

热门下载

更多