• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: C/C++
  • 标签:

资源简介

该算法程序可以计算两个字符串包含的多个子序列和其长度,并同时输出多个子序列

资源截图

代码片段和文件信息

#include
#include
#include
//#include
#include
using namespace std;
void Print(int iint j);
string str1str2;
int t=0;//t表示分路数
int L[100][100]={-1-1};int M[100][100]={-1-1};
int main()
{

//char a[100]={-1};
cout<<“请输入序列1“< cin>>str1;
cout<<“请输入序列2“< cin>>str2;
int n=str1.length();int m=str2.length();int s=0;
//vector L;
//L.resize(n*m);

for(int i=0;i { L[i][0]=0;M[i][0]=0;}
for(int j=0;j {  L[0][j]=0;M[0][j]=0;}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(str1.at(i-1)==str2.at(j-1))
{
L[i][j]=L[i-1][j-1]+1;
                    M[i][j]=1;//表示L[i][j]的值来自于斜对角线
}
else
{
if(L[i][j-1]>L[i-1][j])
{
L[i][j]=L[i][j-1];
    M[i][j]=2;//表示L[i][j]的值来自于左边
}
else if(L[i][j-1] {
L[i][j]=L[i-1][j];
     M[i][j]=3;//表示L[i][j]的值来自于上

评论

共有 条评论

相关资源