首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >4x4字网格- Java

4x4字网格- Java
EN

Stack Overflow用户
提问于 2012-01-27 23:09:49
回答 2查看 2.5K关注 0票数 2

如果一个单词存在于一个由随机字母组成的4x4网格( an ).Can中,您将如何进行搜索?有人将我引向了解决这个问题的有效方法的正确方向。

以下是条件:

  • 单词是从相邻的字母
  • 中形成的,可以是水平的、垂直的或对角的,可以是左、右或上下的
  • ,不能在一个单词中使用超过一次字母单元格。

谢谢你们的帮助!

EN

回答 2

Stack Overflow用户

发布于 2012-01-27 23:28:34

如果您只是在4X4网格上工作,那么它应该非常简单。扫描单词的第一个字母,并在每个方向搜索该单词是否可以从网格中完成。

如果网格非常大,并且/或正在执行大量搜索,您可能需要先对网格进行预处理。例如:对于每一对字符(让我们称它们为k-克,因为通常您希望跟踪k个字符),您可以保留它们所在位置的列表。当你搜索的时候,首先寻找那个单词的k克的位置。

票数 1
EN

Stack Overflow用户

发布于 2012-01-27 23:43:30

首先,我将以一个具有字母和空格的网格表示开始。

我会写一个例程,作为参数,像这样的网格和一个起始字母,并返回一个可能的单词列表。

我会写一个迭代器,为这样一个网格返回与给定字母相邻的每个字母。它将识别空白,而不返回它们。

我会写一个例行公事,用一个字母和我的网格,把信从网格中移除,对于每一个相邻的字母,用新的网格和新的字母命名自己。

如果你真的想搜索一个单词,你可以把它传递到这些例程中,这样一旦你有一个不匹配的单词,你就会失败。

否则,您可以使用它生成一个完整的单词列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9041293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档