/b说明,当为0时方向为左上角,为1时方向为左为2时方向为上
void LCS(char* x,char* y,int lenx,int leny,int c[][100],int b[][100]){
for(int i=1;i<=leny;i++){
c[0][i] = 0;
}
for(int i=0;i<=lenx;i++){
c[i][0] = 0;
}
for(int i=1;i<=lenx;i++){
for(int j=1;j<=leny;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] = 2;
}else{
c[i][j] = c[i][j-1];
b[i][j] = 1;
}
}
}
动态规划之最长公共子序列问题 c语言实现
最新推荐文章于 2024-02-08 09:17:29 发布