最长公共子串
来源:互联网 发布:mac os x 10.11镜像 编辑:程序博客网 时间:2024/05/07 01:59
给定字符串A和B,输出A和B中的第一个最长公共子串,比如A=“wepiabc B=“pabcni”,则输出“abc”。
#include <iostream>using namespace std;#define N 100string findLongestCommonSubString(string str1, string str2) {int dp[N][N] = { 0 };memset(dp, 0, sizeof(int) * N * N);int maxLen = 0;int maxId = 0;int len1 = str1.length();int len2 = str2.length();for (int i = 1; i <= len1; ++i) {for (int j = 1; j <= len2; ++j) {if (str1.at(i - 1) == str2.at(j - 1)) {dp[i][j] = dp[i - 1][j - 1] + 1;if (maxLen < dp[i][j]) {maxLen = dp[i][j];maxId = i;}}}}return str1.substr(maxId - maxLen, maxLen);}int main() {string str1 = "YXXXXXY";string str2 = "YXYXXYYYYXXYYYYXYYXXYYXXYXYYYYYYXYXYYXYXYYYXXXXXX ";string result = findLongestCommonSubString(str1, str2);cout << "LongestCommonSubString: " << result << endl;return 0;}
0 0
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 0112
- 【ARM-Linux开发】ARM板卡上QT显示中文
- 安卓 跳转淘宝、京东app,并打开商品详情页
- linux下配置node.js环境并实现微信授权
- Android Studio2.0 教程从入门到精通MAC版 - 提高篇
- 最长公共子串
- kettle执行定时任务,使用pan.bat和kitchen.bat
- 19个练习黑客技术的在线网站
- C++基础学习之6 - STL解构
- awk 命令使用字符串分割字符串
- 对于功能需求的一些自我理解
- 创龙TMS320C6748开发板———按键中断学习
- FZU-1082(DFS)
- Java Service Wrapper 使用经验总结