您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从搜索文档中查找最小片段的算法?

从搜索文档中查找最小片段的算法?

我已经发布了一个相当简单的算法,可以在此答案中准确解决该问题

但是,在该问题中,我们假设输入由文本流表示,并且单词存储在易于搜索的集合中。

在您的情况下,输入的表示方式略有不同:作为一堆矢量,每个单词的位置都已排序。通过将所有这些向量简单地合并为(position,word)按位置排序的对的单个向量,可以很容易地将该表示转换为上述算法所需的形式。通过将原始向量放入优先级队列(根据其第一个元素排序),可以从字面上完成,也可以“虚拟”完成。在这种情况下,从队列中弹出元素意味着从队列中的第一矢量弹出第一元素,并可能根据其新的第一元素将第一矢量沉入队列。

当然,由于对问题的陈述将单词的数量明确地固定为 3 ,因此您可以简单地检查所有三个数组的第一个元素,并在每次迭代时弹出最小的一个。这为您提供了一种O(N)算法,其中N是所有数组的总长度。

同样,您对问题的陈述似乎暗示目标词可以在文本中重叠,这很奇怪(假设您使用术语“词”)。这是故意的吗?无论如何,以上链接的算法都不会出现任何问题。

其他 2022/1/1 18:15:36 有683人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶