个人模板【最长公共连续子序列】
来源:互联网 发布:睿聚淘宝培训 编辑:程序博客网 时间:2024/05/21 11:29
#include<bits/stdc++.h> using namespace std; void getLCS(char* str1, char* str2) { int len1 = strlen(str1); int len2 = strlen(str2); int matrix[len1]; //str1为x方向 //初始化matrix for (int i = 0; i < len1; i++) { matrix[i] = 0; } int maxValue;//str2为y方向,最多有len2个最大值 int maxIndex; //初始化maxValue和maxIndex maxValue = -1; maxIndex = -1; for (int i = 0; i < len2; i++) { for (int j = len1 - 1; j >= 0; j--) { //扫描str1与str2的各个字符的匹配情况 if (str2[i] == str1[j]) { if (j == 0) { matrix[j] = 1; } else { matrix[j] = matrix[j - 1] + 1; } } else { matrix[j] = 0; } if (matrix[j] != 0 && matrix[j] > maxValue) { //更新maxValue的值 maxValue = matrix[j]; maxIndex = j; } } } for(int i = maxIndex - maxValue +1; i < maxIndex + 1; i++) { printf("%c",str1[i]); } printf("\n"); } int main() { int n; char a[101],b[101]; while(scanf("%d",&n)==1) { for(int i=0; i<n; i++) { scanf("%s%s",a,b); getLCS(a,b); } } }
阅读全文
0 0
- 个人模板 最长公共连续子序列
- 个人模板【最长公共连续子序列】
- 个人模板 最长公共子序列
- 最长连续公共子序列
- 最长连续公共子序列
- 最长公共子序列(连续)
- 最长公共子序列问题模板(不要求连续)
- 最长公共子序列VS最长连续公共子序列
- 最长连续公共最长子序列
- 最长公共子序列【模板】
- 【模板】最长公共子序列
- 最长公共子序列模板
- 最长公共子序列【模板】
- 【模板】最长公共子序列
- 模板 - 最长公共子序列
- 【模板】最长公共子序列
- 【模板】最长公共子序列
- poj1458(DP最长连续公共子序列)
- 冒烟测试浅谈
- python 进程池
- 关于指针(1)
- java包及访问权限
- Linux性能分析工具top命令详解
- 个人模板【最长公共连续子序列】
- [Kafka]
- MongoDB:把单机实例转换成副本集
- MongoDB学习第2天,安装 配置 开始练习
- hdu 1026 Ignatius and the Princess I
- Interllij IDEA 配置 Tomcat 7.0 报以下错误
- "What does my face tell you, Signorina?"
- TMS320F28335生成SPWM
- [Archlinux] Swap Cap:Esc