玩单词链
在我小的时候,我经常玩一个叫做Word chain的文字游戏。这很简单。第一个玩家选择一个单词;下一位玩家说另一个单词,该单词以与上一个单词结尾相同的字母开头。这将一直持续下去,直到有人放弃!诀窍是,您不能两次使用相同的单词(除非每个人都忘记了甚至使用过该单词!)。通常,我们会讨论一个特定的主题,以使其难度更大。但是现在,我希望您编写一个程序来为我执行此操作。 挑战 编写完整的程序或函数,以使用给定的一组单词和起始单词查找所有最长的单词链。 这是代码高尔夫球,因此最短的代码获胜! 输入值 有两个输入:一个列表和一个起始词。起始词将不在列表中。输入全部为小写ASCII,并且列表中将不包含重复的单词。 输出量 列表中的所有单词序列,使得: 起始单词是序列中的第一个单词。 每个后续单词均以与前一个单词的最后一个字母相同的字母开头。 序列的长度是最长的。 如果有多个最长的序列,请全部输出。 该序列不一定需要包含所有列表单词。有时这是不可能的(请参见测试用例)。同样,任何单词都不能使用两次! 测试用例 In: [hello, turtle, eat, cat, people] artistic Out: [artistic, cat, turtle, eat] In: [lemonade, meatball, egg, grape] ham Out: [ham, meatball, lemonade, egg, grape] In: [cat, cute, ewok] attic Out: [attic, cute, ewok] In:[cat, cute, …