最长公共字符串
来源:互联网 发布:编程实现快速排序算法 编辑:程序博客网 时间:2024/06/13 09:28
#include <iostream> #include <string> #include <stack>#include <algorithm>//#include "Customer.h"using namespace std;//最长公共字符串——动态规划//假设需要求得字符串为str1,str2。函数f(m,n)分别为 str1[m],str2[n]//结尾的公共字符串长度。//有以下递推公式: 递推边界// f(m,n)=0 str1[m]!=str2[n] f(0,n)=0;// f(m,n)=f(m-1,n-1)+1 str1[m]!=str2[n] f(m,0)=0;int main(){string str1;string str2;getline(cin, str1);getline(cin, str2);int c[100][100] = { 0 };for (int i = 0; i < str1.length(); i++){for (int j = 0; j < str2.length(); j++){if (str1[i] == str2[j]){if (i == 0 || j == 0)c[i][j] = 1;elsec[i][j] = c[i - 1][j - 1] + 1;}elsec[i][j] = 0;}}int besti = 0, bestj = 0;int count = 0;for (int i = 0; i < str1.length(); i++){for (int j = 0; j < str2.length(); j++){if (c[i][j] > count){count = c[i][j];besti = i;bestj = j;}} }cout << "最长公共字符串长度: " << count << endl;cout << "str1公共子串结束下标: " << besti << endl;cout << "str2公共子串结束下标: " << bestj << endl;return 0;}
0 0
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共字符串
- 最长公共子字符串
- 最长公共字符串
- 最长公共子字符串
- 最长公共字符串
- 最长公共子字符串
- 最长公共字符串问题--题解
- 11077 最长公共子字符串
- 最长公共子字符串问题
- c指针*和++
- C#操作PDF总结
- Genymotion模拟器在Android Studio中检查不到
- 24:鸣人的影分身
- 流
- 最长公共字符串
- Activity fullScreen Theme样式导致输入法显示问题。
- 基于linux的socket编程实现ftp客户端
- 题目1088:剩下的树
- Java内存模型浅析
- 斗鱼直播与熊猫直播竞品分析
- 用链表实现堆栈
- Java编程思想-05初始化与清理
- 生产者消费者代码