给定一个字符串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)。
我们可以改进吗?
请建议最佳方法。