【算法】求两个字符串的最长子串
2015-09-12 17:01
267 查看
这是一个非最优解,使用两个游标,逐次遍历两个字符串:
这个问题还有效率更好的解法:
/*++++++++++++++++++++++++++++++ 求两个个字符串的公共最长字串 +++++++++++++++++++++++++++++++*/ 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...
相关文章推荐
- VS2010创建Webservice程序
- 正则表达式笔记
- 简单脚本+计划任务
- 「C语言回 4000 顾之旅」第一篇:指针详解
- 「C语言回顾之旅」第一篇:指针详解
- Android0911<十六>(Android里的网络连接)
- ferror函数 (2012-11-01 14:40:30) http://blog.sina.com.cn/s/blog_735160d70101a8oh.html
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- 实模式、保护模式以及虚拟80806方式简介
- ssoj1027树形图计数count(状压dp)
- C++中智能指针的设计和使用
- 返回指针值的函数(2)
- 机器学习中的决策树及其演化算法
- HDU 5375 Gray code
- 欢迎使用CSDN-markdown编辑器
- 返回指针值的函数(2)
- Java 基本数据类型
- Prepared for New Acmer
- 第十二篇:OC中的对象内存管理都是对 对象引用计数器 进行管理
- 短信(会话)删除(转)