来自一组字符串的最短不常见前缀

时间:2017-05-12 12:55:23

标签: string algorithm

给定一个字符串A和一组字符串S.需要找到一个最佳方法来查找A的前缀,该前缀不是S中任何字符串的前缀。

实施例

A = {}苹果

S = {四月,逮捕,忧虑}

输出应该是" appl"而不是" app"因为" app"是" apple"的前缀并且" apprehension"但是" appl"不是。

我知道这种方法;通过制作集合S的trie,然后遍历字符串A中的trie。

但我想问的是,我们可以不用trie来做吗?

我们可以比较每一对(A,Si),Si =来自集合S的第i个字符串,并从中得到最大的公共前缀。在这种情况下,这将是" app" ,所以现在所需的ans将是" appl"。

这将需要2个循环(一个用于迭代S,另一个用于比较Si和A)。

我们可以改进吗?

请建议最佳方法。

0 个答案:

没有答案