我想從多個固定長度字符串的相同位置找到所有可能的最長公共子序列(總共有700個字符串,每個字符串有25個字母) 。最長的公共子序列必須包含至少3個字母,並且至少包含3個字符串。所以,如果我有:如何從同一位置找到所有可能的最長公共子序列
String test1 = "abcdeug";
String test2 = "abxdopq";
String test3 = "abydnpq";
String test4 = "hzsdwpq";
我需要的答案是:
String[] Answer = ["abd", "dpq"];
我的一個問題是,這必須儘可能快。我試圖用後綴樹來查找答案,但後綴樹方法的解決方案是["ab","pq"]
.Suffix樹只能從多個字符串中找到連續的子串。常用的最長的公共子序列算法不能解決這個問題。 有沒有人有任何想法如何以低時間成本解決這個問題? 謝謝
可能有多少個字符串?什麼是字符串數量和長度的上限限制? – user1460819
任何字符串都不會出現'abd'和'pdq'?他們怎麼可能是一個子字符串? – 2013-05-22 02:38:49
「abd」出現在test1,test2和test3中,「dpq」出現在test2,test3和test4中 – user2405694