MEM是「最大精確匹配」問題的縮寫,此問題的目的是查找兩個輸入字符串之間的所有最大相似子字符串。請注意,這個問題與字符串匹配問題(或文本搜索)有點不同,因爲您希望在其他文本中找到給定的字符串。用於MEM查找的高效算法
例如在以下兩個字符串(具有有限charcharchers {1,2,3})MEM的是 「12」 和 「3312」
STR1: 「12233312」
STR2: 「123312」
例如,233也是兩個輸入字符串之間的常見子字符串,但由於還有另一個包含它的biger子字符串,因此我們不認爲它是MEM。
有沒有人有一些優雅的想法如何解決它。一個非常簡單的想法可以是使用搜索算法來尋找所有可能的小字符串的大字符串,比如Boyer-Moore。但它似乎並不是解決這個問題的有效方法。
是不是這只是最長的公共子串'問題'? http://en.wikipedia.org/wiki/Longest_common_substring_problem – leppie 2015-02-09 10:02:27
我不是隻看一個共同的最大子字符串,但也爲所有可能的公共最大子字符串。但也許我可以使用這個想法 – user2373198 2015-02-09 10:07:10
233是*不包括在一個更大的公共子字符串中。 – 2015-02-09 14:13:00