【发布时间】:2014-02-11 02:42:02
【问题描述】:
我想获得一个 perl 脚本的提示,该脚本可以找到两个字符串中存在的最长公共子字符串。每个字符串最长为 500 个字符。
例如
abcsffwqfwqsdfasdfTHISISANAPPLEfasdfasdfsdfsadfasdfsdaf4353.54.4fdfsdgg
detertqteqtTHISISANAPPLEafsedfgwetwqrgtwrgtwetpqw4t5osdavm\wert4384..53
输出应该是THISISANAPPLE
听起来很简单,但可能并不简单。
有人有想法吗?
【问题讨论】:
-
你的代码在哪里?你的想法在哪里?到目前为止你做了什么?这不是代码编写服务。
-
1.到目前为止,我的方法如下。在一个循环中从一个字符串中取出 10 个字符的子字符串,然后在另一个字符串中查找它们(小于 1o 个字符的匹配将被丢弃)。 2. 在两个字符串中标记匹配字符串的起始位置。 3.尝试通过连续添加一个字符来扩展命中,直到找到不匹配或字符串结尾。 3.选择最长的命中。我不确定这是否是最好、最快的选择。