输出是表示跳数/跳数最小的数字

时间:2017-02-11 16:25:36

标签: java android

创建一个从终端控制台/ UI接收输入的应用程序,并在控制台/ UI上提供输出。

第一个输入 - 一个3个字母的单词列表。 第二个输入 - 上面列表中的一个单词。 第三个输入 - 列表中的另一个单词。

输出是表示从第二个输入到第三个输入可以进行的最小跳/跳数的数字。每跳/跳都有以下规则: 1.在每一跳/跳跃中,你一次只能改变一个角色。 2.结果词应该在列表中。 示例:

1st Input = [“cat”,“cii”,“sim”,“xim”,“yep”,“syd”,“pol”,“sit”,“sii”,“mat”,“sat” , “CIT”] 第二输入=“猫” 第三输入=“sii”

跳/跳路径:

“cat” - > “cit” - > “cii” - > “SII”

输出 - 4

1 个答案:

答案 0 :(得分:1)

您可以使用BFS解决此问题。

您只需将每个输入字符串转换为Node。

然后,对于每对Node,如果它们只有1个字符,则与Edge连接。

然后你可以运行你的BFS算法来找到最短的路径。