最长公子序列 Longest Common Subsequence
来源:互联网 发布:锤子工作计划的软件 编辑:程序博客网 时间:2024/04/28 21:48
设 X = (x0, x1, ... , x_(n-1) ), Y = (y0, y1, ... , y_(m-1) ), 那么用动态规划的方法,可以得到如下的阶段决策方程:
代码如下:
#include<stdio.h>#include<stdlib.h>#include<iostream>#include <cstring>using namespace std;int LCSubsequence(char* s1, char* s2){if(!s1 || !s2) return 0;int len1 = strlen(s1);int len2 = strlen(s2);int* table = new int[len1*len2];bool flag = false;for(int i=0; i<len2; i++){if(*s1==*(s2+i))flag = true;if(flag)table[i] = 1;}flag = false;for(int i=0; i<len1; i++){if(*(s1+i)==*s2)flag = true;if(flag)table[i*len2] = 1;}if(len1>1 && len2>1)for(int i=1; i<len1; i++)for(int j=1; j<len2; j++)( *(s1+i)==*(s2+j) )?( table[i*len2+j] = 1+ table[(i-1)*len2+j-1]): ( table[i*len2+j] = max( table[i*len2+j-1], table[(i-1)*len2+j]) );int temp = table[len1*len2-1];//delete [] table;return temp;}int main(){char* s1 = "abcdrgth";char* s2 = "bdacrh45";cout<<LCSubsequence(s1, s2)<<endl;getchar();return 0;}上面的LCSubsequence函数,动态申请了一个一维数组table,用table来模拟二维数组。
- 最长公子序列 Longest Common Subsequence
- 最长公共子序列Longest Common Subsequence
- 最长公共子序列 (longest common subsequence)
- 最长公共子序列(Longest Common Subsequence)
- Longest Common Subsequence 最长公共子序列
- 最长公共子序列(Longest Common Subsequence LCS)
- uva 10405 Longest Common Subsequence 最长公共子序列 LCS
- UVa10405 - Longest Common Subsequence ( 最长公共子序列 )
- UVa 10405 - Longest Common Subsequence 最长公共子序列模板
- 最长公共子序列(LCS, Longest Common Subsequence), POJ 1458
- uva 10405 - Longest Common Subsequence(最长公共子序列)
- [动态规划-2] 最长公共子序列-Longest Common Subsequence
- 求最长公共子序列Longest Common Subsequence LCS
- 最长公共子序列(Longest-Common-Subsequence,LCS)
- UVA10405-Longest Common Subsequence && nyoj36-最长公共子序列
- UVA 10405 LONGEST COMMON SUBSEQUENCE(最长公共子序列)
- 最长公共子序列问题LCS Longest Common Subsequence
- uva10405 - Longest Common Subsequence(LCS,最长公共子序列)
- Virtualbox扩展ubuntu容量空间
- HBase点滴
- 关于EL表达式中requestScope和param区别
- C#.NET com组件的编写
- 从SQL到HiveQL应改变的几个习惯
- 最长公子序列 Longest Common Subsequence
- !!!Obj-C 2.0 -- Chapter 1 Objects, Classes, and Messaging
- UVA 10055 Hashmat the brave warrior
- UVA 10071 Back to High School Physics
- C++ 虚函数表解析
- Hive UDF与UDAF
- UVA 10030 Ecological Premium
- paip.验证码识别----判断汉字还是英文
- paip.目录文件列表排序算法