algorithm - 如何在字母矩阵中找到单词

标签 algorithm language-agnostic

这是我在电话采访中被问到的另一个问题:

给定一个字典和一个填字游戏(字符的二维矩阵)找到所有可以在填字游戏中找到的字典单词。

我所能想到的就是对字典进行哈希处理,在填字游戏中找到每个可能的单词并搜索哈希。我无法全部优化。

必须承认微软的面试问题很难 :(

请给我思考的台词。

最佳答案

怎么样:

  • 为字典构建搜索树(每个字母一层)
  • 对于网格中的每个位置,开始在索引中搜索,一次一个字符,并在每个允许的方向上继续,直到索引中没有剩余条目,或者您到达网格边界

我认为散列在这里不是非常有用的优化。

关于algorithm - 如何在字母矩阵中找到单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4313971/

相关文章:

c - 2 个未排序数组中的第 K 个排名元素

algorithm - 如何生成随机的唯一数字,其中相邻数字在指定范围内?

language-agnostic - 什么时候使用 map 有意义?

algorithm - 如何计算顺序重要且集合长度不同的排列?

php - PHP 中的 Bresenham 直线算法

performance - 递归还是迭代?

conditional-statements - 为什么要在条件中使用赋值?

language-agnostic - 选民最少,分为两半

java - 不使用 BigInteger 的 Karatsuba 算法

c++ - 使用散列等长比较的子字符串