将单词“cat”转换为“dog”的算法

时间:2013-11-20 00:04:32

标签: algorithm

我正在为下面的谜语寻找算法:

编写一个程序,通过一次更改1个字符将单词“cat”转换为“dog”,并且在执行此操作时,生成的所有临时单词也是有效单词。您将获得一个方法,当您将单词作为输入传递给它时,它会告诉您单词是否有效。

任何想法?

1 个答案:

答案 0 :(得分:4)

这是图搜索问题。节点是有效的单词,起点是“cat”,终点是“dog”。要查找节点的邻居,您可以尝试所有可能的1个字母的更改,并检查它们是否生成有效的单词。您可以对问题应用任何标准搜索算法;我建议depth-first searchbreadth-first search

如果程序只需要为“cat”和“dog”工作,你也可以硬编码答案。正如Shashank在评论中提供的那样,

return ['cat', 'cot', 'cog', 'dog']

可能就是您所需要的一切。