【算法】求两个字符串的最长子串
来源:互联网 发布:ubuntu golang 安装 编辑:程序博客网 时间:2024/05/22 16:06
这是一个非最优解,使用两个游标,逐次遍历两个字符串:
/*++++++++++++++++++++++++++++++求两个个字符串的公共最长字串+++++++++++++++++++++++++++++++*/bool GetMaxSubstr(const char* s1,const char* s2,char*sub){int pos1 = 0;int maxlen = 0;int len1 = strlen(s1),len2 = strlen(s2);for(int i = 0; i < len1; i++){for(int j = 0; j < len2; j++){int ii = i;int jj = j;while(jj < len2 && s1[ii] != s2[jj]) jj++;if(jj < len2){while(ii < len1 && jj < len2 && s1[ii] == s2[jj]){ii++;jj++;}if(maxlen < ii-i){maxlen = ii-i;pos1 = i;}}}}int pos2 = 0;while(pos2 < maxlen)sub[pos2++] = s1[pos1++];return maxlen > 0;}
这个问题还有效率更好的解法:
//to be add...
0 0
- 【算法】求两个字符串的最长子串
- 利用KMP算法,求顺序表存储的两个字符串的最长公共子串
- 求两个字符串的最长子序列
- 算法:用数组求两个字符串最长的公共子串
- LCS算法实现 求两个字符串中间最长的公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长公共子串的长度
- 求两个字符串的最长公共子串的长度
- 求两个字符串最长公共子串
- VB6求两个字符串最长公共子串的问题
- 求两个字符串的最长公共子串(LCS)
- 求两个字符串的最长公共子串
- 求两个字符串的最长公共子串
- 求两个字符串的最长公共子串(LCS)
- 求两个字符串最长公共子串的问题
- 实模式、保护模式以及虚拟80806方式简介
- iGriamceV8.0 IG8.0.0 iOS8 V8基本设置和使用教程图
- Java 驼峰与下划线的属性名互相转换
- C++中智能指针的设计和使用
- c++ Handle类的理解(2)
- 【算法】求两个字符串的最长子串
- 1.1.1 对canvas的支持
- first day
- Java 基本数据类型
- 自定义组件之-利用已经用的组件进行二次的组件开发
- HDU 1248 寒冰王座 【完全背包】
- iGrimace iOS应用闪退或图标消失的解决办法
- ferror函数 (2012-11-01 14:40:30) http://blog.sina.com.cn/s/blog_735160d70101a8oh.html
- 欢迎使用CSDN-markdown编辑器