我尝试过使用LCS(Longest Common Subsequence)算法,但我想要所有长度的子序列。我们如何修改LCS代码?
示例:给定String_1="abxcd"
和String_2="aybcd"
LCS会产生"abcd"
,但我想显示{" a",&# 34; ab"," bcd"," cd"," abcd"," d" }
答案 0 :(得分:0)
试试这个伪代码
Set allCS;//create an empty set
String[] subStrings = getSubSequences(String_2) //find the subsequence of String_2
for (String str : subStrings)
allCS.put(LCS(String_1,str)) //add LCS of (String_1,str) to allCS
注意:
getSubSequences(String s)
返回给定字符串参数的所有子序列LCS(String s1, String s2)
返回s1和s