写出最长公共子序列的c语言代码
时间: 2024-06-19 15:03:55 浏览: 106
C语言求最长公共子序列
以下是一份可以实现最长公共子序列的C语言代码示例:
```c
#include<stdio.h>
#include<string.h>
int max(int a,int b){
return (a>b)?a:b;
}
int lcs(char *X,char *Y,int m,int n){
int L[m+1][n+1];
int i,j;
for(i=0;i<=m;i++){
for(j=0;j<=n;j++){
if(i==0 || j==0)
L[i][j]=0;
else if(X[i-1]==Y[j-1])
L[i][j]=L[i-1][j-1]+1;
else
L[i][j]=max(L[i-1][j],L[i][j-1]);
}
}
return L[m][n];
}
int main(){
char X[]="AGGTAB";
char Y[]="GXTXAYB";
int m=strlen(X);
int n=strlen(Y);
printf("Length of LCS is %d\n",lcs(X,Y,m,n));
return 0;
}
```
阅读全文