LCS 算法之C++实现

原创 2005年05月25日 02:05:00

    #include<iostream>
using namespace std;

char* LCS(char* left,char* right);

int main(){
 char *left,*right;
 left = new char[1024];
 right = new char[1024];
 cout << "please input the first string:";
 cin >> left;
 cout << "please input the second string:";
 cin >> right;
 cout << "最长公共子串是:";
 cout << LCS(left,right)<<endl;
 return 0;
}

char* LCS(char*left,char* right){
 int lenLeft,lenRight;
 lenLeft = strlen(left);
 lenRight = strlen(right);
 int *c = new int[lenRight];
 int start,end,len;
 end = len = 0;
 for(int i = 0; i < lenLeft; i++){
  for(int j = lenRight-1; j >= 0; j--){
   if(left[i] == right[j]){
    if(i == 0 || j == 0)
     c[j] = 1;
    else
     c[j] = c[j-1]+1;
   }
   else
    c[j] = 0;
   if(c[j] > len){
    len = c[j];
    end = j;
   }
  }
 }
 char *p = new char[len+1];
 start = end - len + 1;
 for(i = start; i <= end; i++)
  p[i - start] = right[i];
 p[len] = '/0';
 return p;
}

C++实现——LCS-最大公共子串长度

//求两个字符串的最长公共子串的长度(子串不一定是原串中的连续子串组成) //LCS //使用动态规划 #include #include #include using namespace s...
  • langmanqishizaijia
  • langmanqishizaijia
  • 2016年04月08日 15:14
  • 1411

算法学习 - 最长公共子序列(LCS)C++实现

最长公共子序列最长公共子序列的问题很简单,就是在两个字符串中找到最长的子序列,这里明确两个含义: 子串:表示连续的一串字符 。 子序列:表示不连续的一串字符。 所以这里要查找的是...
  • chenfs1992
  • chenfs1992
  • 2015年08月25日 23:30
  • 3956

LCS算法的C++实现

最长公共子序列LCS的C++实现
  • zmq570235977
  • zmq570235977
  • 2015年11月15日 15:02
  • 1698

最长公共子序列理解心得之C/C++

今天在在做腾讯2017年暑期实习生编程题的时候遇到的求最长回文串个数,其中遇到了一个知识点,求最长公共子序列。 下面看一下百科给出的解释: 再看看算法与应用: 求公共子序列举例:...
  • no_sying_nothing
  • no_sying_nothing
  • 2016年08月12日 01:22
  • 648

最长公共子序列(LCS)的算法C++实现-已用模板类封装

  • 2012年10月29日 16:46
  • 2KB
  • 下载

LCS算法

首先将要看到如何运用动态编程查找两个 DNA 序列的最长公共子序列(longest common subsequence,LCS)。发现了新的基因序列的生物学家通常想知道该基因序列与其他哪个序列最相似...
  • leohxj
  • leohxj
  • 2010年11月11日 19:59
  • 13645

最长公共子序列LCS(c++)

  • 2011年09月11日 15:39
  • 3KB
  • 下载

不可摸数

不可摸数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub...
  • yanghui07216
  • yanghui07216
  • 2015年07月23日 17:45
  • 364

GDB基本命令(整合)

一、gdb调试基本知识 a.调试器指示的是将要执行的代码行 b.只有在编译时拥有调试符号(-g)的程序才能在调试时看到源码 c.同一行上有多个断点时,gdb仅中断在断点号最小的那个断点上 d.断点可以...
  • water_cow
  • water_cow
  • 2012年01月23日 00:20
  • 18917

LCS算法的python实现

''' Created on 2012-11-9 @author: Pandara ''' def lcs_len(a, b): ''' a, b: strings ''' ...
  • qq917141931
  • qq917141931
  • 2012年11月10日 14:46
  • 1696
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LCS 算法之C++实现
举报原因:
原因补充:

(最多只允许输入30个字)