给定k个单词,在恒定时间内确定单词相等

时间:2017-01-25 13:19:14

标签: string algorithm pattern-matching

我在学习算法测试时遇到过这个问题:

给定一组k个单词(字符串),总字符数为n,(意味着所有单词长度的总和为n),对O(n)时间内的单词执行某种操作,这样每当比较2个单词时,在O(1)时间内返回答案(无论它们是否相同)。

这是一个有趣的问题,但我找不到任何方向来处理它......

1 个答案:

答案 0 :(得分:0)

构造所有单词的trie,并为每个单词存储数组中最后一个字符的索引。这是O(n)操作。

鉴于两个词,当且仅当它们的最后一个字符的索引相同时,它们才是相同的。