最长公共子序列 python
来源:互联网 发布:西门子usb编程电缆 编辑:程序博客网 时间:2024/05/19 02:25
注意:子序列和子串的区别,前者是字符串里的不相隔的字符组成的串,字符的先后顺序不变;后者是连续的字符组成的字符串
实现下面的递推式,就实现了dp动归。更多图解的过程,可以参看博客http://blog.csdn.net/hrn1216/article/details/51534607
class LCS: def findLCS(self, A, n, B, m): if m == 0 or n == 0: return -1 c = [[0 for _ in xrange(m + 1)] for _ in range(n + 1)] for i in range(1, n + 1): for j in range(1, m + 1): if A[i - 1] == B[j - 1]: c[i][j] = c[i - 1][j - 1] + 1 else: c[i][j] = max(c[i][j - 1], c[i - 1][j]) return c[-1][-1]if __name__ == '__main__': line = raw_input().split(',') A = line[0][1:-1] n = int(line[1]) B = line[2][1:-1] m = int(line[-1]) print LCS().findLCS(A, n, B, m)
后面一种方式定义的是一种引用,修改其中一个,其他的也会发生变化
参考文献
http://blog.csdn.net/hrn1216/article/details/51534607
http://www.cnblogs.com/zfyouxi/p/4195215.html
阅读全文
0 0
- 最长公共子序列-python
- 最长公共子序列 python
- python -- 最长公共子序列
- 最长公共子序列python实现
- 最长公共子序列及Python实现
- 最长公共子序列(LCS)问题 python
- Python 实现最长公共子序列LCS
- 最长公共子序列(Python)
- 最长公共子序列问题Python实现
- 最长递增子列、最长公共子序列 python实现
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列...
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- javaspilt会遇到的异常java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1
- 2.leetCode595: Big Countries
- 【模板】乘法逆元
- Java基础语法
- effective cpp 读书笔记2
- 最长公共子序列 python
- 图片上传
- 文章标题
- 视频调色软件(colordirector 6) v6.0.2028中文免费版
- 数据库三级模式
- 使用playframework实现简单的增删改查
- 三大框架整合struts+spring+mybatis
- 23种设计模式全解析
- ssh scp出现 Permission denied (publickey,gssapi-with-mic,gssapi-keyex)问题