查找两个字符串的最长公共子串(附源码)_AX
2006-12-04 13:42
357 查看
查找两个字符串a,b中的最长公共子串
【思路】遍历a的字符,每次取出一个字符与b进行匹配(遍历b),如匹配上,a,b同时后移一个字符,再循环遍历b进行匹配,直到匹配不上,把刚才匹配的公共字串与已知最长子串进行比较,如果它比最长子串还长,替换最长子串,如相等,也保存.
【缺陷】本来优化了一下,减少了些不必要的循环次数,结果发现如果没有公共子串就会出现数组越界问题,可以改一下判断条件,但整个结构就会感觉很乱就删除了,只剩了一句做为注释掉,大家可以自己优化一下.
【总结】本来思路很简单,但调试起来还是用了很多时间,主要是因为变量初始化放的位置不对.相对菜鸟而言,思路跟代码实现还是有段距离的.
【源码】
1using System;
2using System.Collections;
3namespace CompareString_AX
4
【思路】遍历a的字符,每次取出一个字符与b进行匹配(遍历b),如匹配上,a,b同时后移一个字符,再循环遍历b进行匹配,直到匹配不上,把刚才匹配的公共字串与已知最长子串进行比较,如果它比最长子串还长,替换最长子串,如相等,也保存.
【缺陷】本来优化了一下,减少了些不必要的循环次数,结果发现如果没有公共子串就会出现数组越界问题,可以改一下判断条件,但整个结构就会感觉很乱就删除了,只剩了一句做为注释掉,大家可以自己优化一下.
【总结】本来思路很简单,但调试起来还是用了很多时间,主要是因为变量初始化放的位置不对.相对菜鸟而言,思路跟代码实现还是有段距离的.
【源码】
1using System;
2using System.Collections;
3namespace CompareString_AX
4
相关文章推荐
- 查找两个字符串a,b中的最长公共子串
- 华为OJ——查找两个字符串a,b中的最长公共子串
- JavaScript自定义函数实现查找两个字符串最长公共子串的方法
- 华为oj 查找两个字符串a,b中的最长公共子串
- 华为(8)查找两个字符串a,b中的最长公共子串
- 华为OJ中级题-查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- 华为OJ——查找两个字符串a,b中的最长公共子串
- 华为OJ 公共字串计算&&查找两个字符串a,b中的最长公共子串
- 【华为OJ】【081-查找两个字符串a,b中的最长公共子串】
- 华为机试在线训练-牛客网(30)查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- 华为OJ(查找两个字符串a,b中的最长公共子串)
- OJ------查找两个字符串a,b中的最长公共子串
- 华为OJ——查找两个字符串a,b中的最长公共子串
- 【华为oj】oj2034查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- java 查找两个字符串的最长公共子串
- 今天开始学Java 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。