华为(8)查找两个字符串a,b中的最长公共子串
2014-07-08 09:26
531 查看
#include <iostream> #include <string> using namespace std; static string iQueryMaxCommString(string &stringA, string stringB) { unsigned int lengthA=stringA.length(); unsigned int lengthB=stringB.length(); unsigned int counts=0; unsigned int pos_end=0; for(unsigned int i=0;i<lengthA;++i) { unsigned int posA=i; unsigned int countsA=0; for(unsigned int j=0;j<lengthB;++j) { if(stringA[posA] == stringB[j]) { ++posA; ++countsA; if(countsA>counts) { counts=countsA; pos_end=posA-1; } } } } unsigned int pos_begin=pos_end-counts+1; string str; for(unsigned int i=pos_begin;i<=pos_end;++i) { str.push_back(stringA[i]); } return str; } int main() { string str1,str2; getline(cin,str1); getline(cin,str2); cout<<iQueryMaxCommString(str1,str2)<<endl; return 0; }
相关文章推荐
- 华为OJ——查找两个字符串a,b中的最长公共子串
- 华为机试---查找两个字符串a,b中的最长公共子串
- 华为oj中级 查找两个字符串a,b中的最长公共子串
- 华为oj 查找两个字符串a,b中的最长公共子串
- 【华为OJ】【081-查找两个字符串a,b中的最长公共子串】
- 华为OJ(查找两个字符串a,b中的最长公共子串)
- 华为练习--查找两个字符串a,b中的最长公共子串
- 华为OJ——查找两个字符串a,b中的最长公共子串
- 华为OJ 公共字串计算&&查找两个字符串a,b中的最长公共子串
- 【华为oj】oj2034查找两个字符串a,b中的最长公共子串
- 华为机试在线训练-牛客网(30)查找两个字符串a,b中的最长公共子串
- 华为OJ中级题-查找两个字符串a,b中的最长公共子串
- 华为OJ——查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- 查找两个字符串的最长公共子串的Javascript函数
- JavaScript自定义函数实现查找两个字符串最长公共子串的方法
- 查找两个字符串a,b中的最长公共子串
- 今天开始学Java 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。
- 查找两个字符串a,b中的最长公共子串
- OJ------查找两个字符串a,b中的最长公共子串