A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我的基础测试题中有这样一道题:已知两个字符串,编写函数求出两个字符串的最大公共子字符串,例如“itcastisbetter“ 和“casted”的最大公共子字符串就是“cast”。
这道题的思路一直不是很清晰,求大神们帮分析一下解题思路,或者简单写一下伪代码。

1 个回复

倒序浏览
本帖最后由 fantacyleo 于 2015-4-11 20:14 编辑

首先找出两个字符串中较短的那一个,因为最大公共子串至多也只能是较短的那个字符串。例如“itcastisbetter“ 和“casted”较短的是casted

测试较短的字符串是不是较长字符串的子串。如果是,输出结果。如果不是,测试较短字符串从第二个字符起到结束的子串是不是较长字符串的子串,如果是,输出结果。如果不是,测试较短字符串从第三个字符起到结束的子串是不是较长字符串的子串。。。以此类推直到较短字符串剩下一个字符

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马