今天,一位工作伙伴向我提出了一个问题。 给定一个字符网格和一个单词列表,就必须在网格中水平,垂直和对角地找到该单词的每次出现。
我们提出的解决方案是有效的并且可以解决问题,但我很想知道其他人的思维方式。
答案 0 :(得分:3)
在列表中插入trie或hash table或任何词典中的每个单词。
现在,对于网格中的每个位置,水平,垂直和对角地查看是否在字典中获得匹配。这应该会给您O(N^3)
最坏的情况复杂性,其中N
是网格的大小。否则我认为是O(N^2*averageWordLength)
。