【发布时间】:2013-04-13 17:47:40
【问题描述】:
我的朋友在一次采访中遇到了这个问题。我们得到一个包含一些句子的文件。句子只有 0-9、a-z、A-Z 和句号(.),我们需要读取文件并以查询更快的方式存储。这个阶段所花费的时间不是问题。这里查询将包含一些单词,我们需要返回包含所有这些单词的最小子字符串。顺序并不重要。 (注意:假设整个文件可以放入主内存)
例如,如果文件是:“Ram 正在攻读计算机科学学位。Ram 家里有电脑。Ram 现在在家。”
查询 1 :"Ram computer a" 输出:"Ram has a computer" 查询 2:“Ram home” 响应:“home.Ram”
我想将文件存储为一个链接列表,其中每个节点都由一个单词组成。如果是最后一个单词,则单词+句号存储在节点中。在查询时,我们需要遍历 LL 并找到包含所有单词的最小字符串。
我们如何进一步优化它?我们能否以更好的方式存储文件?
【问题讨论】:
-
我看不出将文件存储在链表中如何帮助您找到所说的最小子字符串..
标签: string algorithm data-structures processing-efficiency