在网格中搜索单词

问题描述 投票:1回答:2

我正在尝试编写一个函数,该函数采用字母的正方形网格,并给一个单词从单词列表中查找,它会水平,垂直或对角地搜索它(在每种情况下也都向后看)。我尝试过以各种方式编写此函数,但均未成功,所以想知道我的通用算法是否听起来不错且可实现。

  • 返回单词的第一个字母出现的位置的坐标,所以类似[row,col] = find(grid==words(2)),其中单词是单词列表,而网格是方矩阵。因此,它将在grid中搜索words中的第二个单词。

  • 对于该字母的每次出现,都沿该单词的长度在各个方向上垂直,水平和对角移动,如果最后一个字母是该单词的最后一个字母,我们正在寻找从第一个到最后一个字符的每个字符作为数组中的单词。

  • 将这些单词中的每一个与我们正在寻找的单词进行比较,如果有匹配项,请划一条线。

想法?

matlab pattern-matching octave text-processing
2个回答
2
投票

考虑字符数组和子字符串以沿水平,垂直和两个对角线方向查找:


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.