最长公共子序列

2017-12-04  本文已影响0人  blue__sky
题目描述

代码:

#include<string>
using namespace std;
int main()
{
    string s1,s2;
    cin>>s1>>s2;
    int num1=0,num2=0;
    int c[2005][2005]={0};
    while(s1[num1++]);
    while(s2[num2++]);              //求解字符串长度,num2-1;
    //for(int i=1;i<num1;i++)
     //   c[i][0]=0;
    //for(int i=1;i<num2;i++)
      //  c[0][i]=0;
    for(int i=1;i<=num1-1;i++)
        for(int j=1;j<=num2-1;j++)
        {
            if(s1[i-1]==s2[j-1])
                c[i][j]=c[i-1][j-1]+1;
            else
                c[i][j]=max(c[i-1][j],c[i][j-1]);
        }
    cout<<c[num1-1][num2-1];
    return 0;
}

上一篇下一篇

猜你喜欢

热点阅读