最大公共子序列

    xiaoxiao2021-03-25  115

    #include<iostream> #include<cstring> using namespace std; char s1[1005],s2[1005]; int maxlen[1005][1005]; int main(){ int i,j; int len1,len2; while(cin>>s1>>s2){ len1=strlen(s1); len2=strlen(s2); for(i=0;i<=len1;i++) maxlen[i][0]=0; for(i=0;i<=len2;i++) maxlen[0][i]=0; for(i=1;i<=len1;i++) for(j=1;j<=len2;j++) if(s1[i-1]==s2[j-1]) maxlen[i][j]=maxlen[i-1][j-1]+1; else maxlen[i][j]=max(maxlen[i][j-1],maxlen[i-1][j]); cout<<maxlen[len1][len2]<<endl; } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-20648.html

    最新回复(0)