文章
17
粉丝
0
获赞
66
访问
1.8k
#include <stdio.h>
#define MAX 101
int main()
{
char str1[MAX],str2[MAX];
int len1,len2;
while(scanf("%s %s",str1,str2)!=EOF){
//获取长度(可替换为string.h里的strlen函数)
for(len1=0;str1[len1]!='\0';len1++){}
for(len2=0;str2[len2]!='\0';len2++){}
int dp[MAX][MAX]={0};//动态规划数组
int max=0;
int end=0;//最终字符串所在位置的最后一位
for(int i=1;i<=len1;i++){
for(int j=1;j<=len2;j++){
if(str1[i-1]==str2[j-1]){//字符匹配成功
dp[i][j]=dp[i-1][j-1]+1;//每匹配上一个字符,就相当于去掉这个字符时的最长序列值加一
if(dp[i][j]>=m...
登录后发布评论
暂无评论,来抢沙发