zoukankan      html  css  js  c++  java
  • Lec3最长公共子序列(子串)

    1.递归方法:

    //最大子串的递归解法
    #include <iostream>
    #include 
    <cstring>
    #include 
    <cstdio>
    using namespace std;

    int max(int a, int b)
    {
        
    return a>? a : b;
    }

    int lcs(char* a, char* b, int i, int j)
    {
        
    if (i == 0 || j == 0)
            
    return 0;
        
    if (*(a + i -1== *(b + j - 1))
            
    return lcs(a, b, i - 1, j - 1+1;
        
    else
            
    return max(lcs(a,b,i-1,j),lcs(a,b,i,j-1));
    }

    int main()
    {
        
    char a[500],b[500];
        
    int len1,len2;
        
    while (cin>>a>>b)
        {
            len1 
    = strlen(a);
            len2 
    = strlen(b);
            cout
    <<lcs(a,b,len1,len2)<<endl;
        }
    }

     2.迭代方法:

     1 //最大子串的迭代解法
     2 //非递归,用一个表做记录
     3 #include <iostream>
     4 #include <cstring>
     5 #include <cstdio>
     6 
     7 using namespace std;
     8 
     9 #define MAX 500
    10 int main()
    11 {
    12     char a[MAX],b[MAX];
    13     int dp[MAX][MAX];
    14     int i,j,len1,len2;
    15     while (cin>>a>>b)
    16     {
    17         len1 = strlen(a);
    18         len2 = strlen(b);
    19         for(i=0;i<len1;i++) dp[i][0= 0;
    20         for(j=0;j<len2;j++) dp[0][j] = 0;
    21 
    22         for (i=1;i<=len1;i++)
    23         {
    24             for (j=1;j<=len2;j++)
    25             {
    26                 if (a[i-1]==b[j-1])
    27                     dp[i][j]=dp[i-1][j-1]+1;
    28                 else
    29                     dp[i][j]=dp[i-1][j]>dp[i][j-1]?dp[i-1][j]:dp[i][j-1];
    30             }
    31         }
    32         cout<<dp[len1][len2]<<endl;
    33     }
    34 }
  • 相关阅读:
    etcd
    mesos+marathon+zookeeper+docker
    安装好dashboard 登录出现错误
    最小化centos7离线安装docker环境
    centons7安装ftp
    TensorFlow运行模型demo时常见问题
    centos7全新系统安装TensorFlow
    vmware创建虚拟机并安装centos7系统
    python使用moviepy模块对视频进行操作
    iis7/8隐藏banner信息
  • 原文地址:https://www.cnblogs.com/avril/p/2036149.html
Copyright © 2011-2022 走看看