动态规划--LCS计算
来源:互联网 发布:linux spi驱动 编辑:程序博客网 时间:2024/05/16 15:39
int findLCS(string A, int n, string B, int m) { //生成二维矩阵 int **dp = new int*[n+1]; for (int i = 0; i < n+1; i++) dp[i] = new int[m+1];//由于这边是定义了[n+1][m+1],所以对于A,B的值序号都要减1 //dp的第一列 for (int i = 0; i < n + 1; i++) { dp[i][0] = 0; } //dp的第一行 for (int j = 0; j < m + 1; j++) { dp[0][j] = 0; } //其他位置的dp值 for (int i = 1; i < n + 1; i++) { for (int j = 1; j < m + 1; j++) { if (A[i-1] == B[j-1])//因为数组时从0开始计算的,所以要相对应的值减1 { dp[i][j] = dp[i - 1][j - 1] + 1; } else dp[i][j] = dp[i - 1][j] > dp[i][j - 1] ? dp[i - 1][j] : dp[i][j - 1]; } } return dp[n][m]; }
给定两个字符串A和B,返回两个字符串的最长公共子序列的长度。例如,A="1A2C3D4B56”,B="B1D23CA45B6A”,”123456"或者"12C4B6"都是最长公共子序列。
给定两个字符串A和B,同时给定两个串的长度n和m,请返回最长公共子序列的长度。保证两串长度均小于等于300。
阅读全文
0 0
- 动态规划--LCS计算
- 动态规划之LCS
- 动态规划 LCS
- 动态规划中LCS
- 动态规划 LCS,LIS
- 动态规划--LCS
- 动态规划:LCS
- 动态规划(三.LCS)
- 动态规划-LCS
- 动态规划入门之LCS
- LCS的动态规划算法
- 动态规划解LCS问题
- POJ1458 动态规划 (LCS,水)
- 动态规划之LCS问题
- 动态规划——LCS
- LCS问题求解-动态规划
- 动态规划(二.LCS)
- 动态规划--LIS与LCS
- Codeforces Round #410 (Div. 2) 解题报告
- MySQL删除主键的操作方法
- OS X 设置文件默认打开方式
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- Android 给 TextView 设置删除线,下划线,加粗等效果
- 动态规划--LCS计算
- CSS3伪类选择--目标伪类选择器
- JS版转换为细分大写金额
- linux top 命令
- 智能合约和存储空间在哪里?
- Linux学习手册-文件内容查看
- 内存映射文件原理探索
- 拦截有序广播
- html基础知识二