|
|
1
2
找到2个以上字符串的LCS的问题非常昂贵,这将是您问题的瓶颈。以牺牲准确性为代价,你可以使这个问题变得易于处理。例如,您可以在所有字符串对之间执行LCS,并将具有相似LCS结果的字符串集组合在一起。然而,这意味着一些模式将无法被正确识别。
当然,如果你能对字符串施加进一步的限制,所有这些都是可以避免的,就像Excel一样,它似乎只允许表单的模式
|
|
|
2
0
找到[动态]没什么大不了的,你可以用2个字符串来做到这一点——从头开始,当它们开始不相等时停止,从最后开始做同样的事情,瞧,你就得到了你的[动态] 类似于(伪代码-有点):
关于你的10k数据集。你需要用每个组合来调用这个(或者可能是一个更优化的版本),以找出你的模式(10k x 10k调用)。然后按模式对结果进行排序(即保存开始和结束并按这些字段排序) |
|
|
3
0
我认为你需要的是计算类似 Levenshtein distance ,找到一组相似的字符串,然后在每组相似的字符串中,用典型的类diff算法识别动态部分。 |
|
|
4
0
不管你信不信,谷歌文档可能比excel更适合这类事情。
|