我想到了一个有趣的问题。有很多高级方法可以找到两个字符串中最长的公共子字符串。但是,如果不考虑顺序,如何快速找到公共集?如何优化朴素算法。
string1 = 'abcdefgh'
string2 = 'mlfdehjiopfe'
longest_common_set = func(string1, string2)
然后,我们得到longest_common_set
是set(['d','e','f'])
答案 0 :(得分:1)
如果您考虑设置,那么可以遵循许多技巧。 其中之一是-
确定这两个字符串中的longest common sub-sequence
(使用 path )。
然后从 path 中获取唯一字符。
您可以从此处学习longest common sub-sequence
:https://www.techiedelight.com/longest-common-subsequence/