algorithm - 构建递归算法来检查二维单词数组
问题描述
我正在尝试用字母而不是数字构建数独游戏。会有如下盒子:3 x 3 盒子
并且用户将尝试找到字母的正确排列,以使所有水平和所有垂直字母都形成单词。一种游戏模式是用户可以使用字母子集来填写框。对于这个游戏,我使用了一个 txt 文件中的特殊单词列表,所以我不能使用标准字典库。这是一个正确填写的拼图示例:
已完成拼图
对于为拼字游戏玩家制作的这个版本的数独,oxo 是一个有效的词。无论如何,我将如何构建一个算法来检查水平和所有垂直字母是否构成单词?
解决方案
该问题询问是否检查 6 个字符串是否都是字典中的有效单词。
伪代码-ish Java:
String[] boardWords = getWordsFromBoard(); // Should be a 6 element array.
Set<String> dictionary = loadDictionary(); // Read all words from dictionary file into a Set.
for (String word : boardWords) {
if (!dictionary.contains(word)) return false;
}
return true;
您在问题中的评论似乎表明您想知道如何根据字典检查 6 个字符串,并询问您是否需要将字典扫描 6 次。正如您在上面的代码中看到的,您可以一次将字典的内容加载到集合中,然后循环遍历单词并检查它们是否出现在集合中。
推荐阅读
- omnet++ - 找不到错误 ueAppIdToMeAppMapKey 条目
- ruby-on-rails - 如何在 ruby 的哈希中制作 deep_slice
- unity3d - 如何在移动设备的 x 或 y 轴上检测手指拖动?
- angular - Angular 11:错误 TS2339:“对象”类型上不存在属性“数据”,但一切正常
- java - 有没有办法通过安卓应用程序创建键盘宏?
- c# - 如何隐藏/更改起始页中的 URL?
- android - Android 自动填充服务在 Chrome 中不起作用
- charts - 如何在pinescript中最低点之后的下一个最高点
- python - 如何制作简单的地图编辑器或关卡编辑器?
- amazon-web-services - 使用 AWS cli 将自定义域迁移到不同的 API 终端节点时出现问题