找出字符串str1与str2的所以最长公共字符串及长度

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:49:57

程序可以写,但是千万别让我用C语言来写,那样太累了。建议用PERL、PHP等语言来写,这些语言的数组可以动态申请和释放,程序只当普通数组用,系统自己知道申请和释放内存空间。而且数组可以直接进行相等比较,比C语言方便。而且有函数快速判断子串是否在另外的数组里面存在。

我下面给一个逻辑简单的算法,非常容易理解,但是时间、空间效率都没有做任何优化:

★①输入字符串str1,str2
★②把字符串str1的所有子串存到数组(C等语言要用链表)strs1中
★③把字符串str2的所有子串存到数组(C等语言要用链表)strs2中
★④从数组strs1中删除所有不在数组strs2中的元素,剩下全为公共子串
★⑤选出长度最长的一个子串,输出它和它的长度

每一步操作都没有任何难度吧,取字符串的所有字串的方法不难,从每一个字符开始去,长度分别为1、2、..剩下的全部,双重for循环实现。

???用什么语言实现?有什么要求?