【发布时间】:2023-05-20 23:45:01
【问题描述】:
这是一个我正在尝试实现的游戏。 一个儿童游戏,他们在选定的类别中命名一个对象(比如动物!) 使得玩家单词的第一个字母与前一个玩家单词的最后一个字母相同。
一个例子是:
- 玩家 1:长颈鹿
- 玩家 2:大象
- 玩家 3:老虎
- 玩家 4:浣熊
等等!
现在,我想编写一个代码,给出一个单词列表,它会找到最长的单词链。
一个可能的列表:
['giraffe', 'elephant', 'ant', 'tiger', 'raccoon', 'cat', 'hedgehog', 'mouse']
最长的必须是:
['hedgehog', 'giraffe', 'elephant', 'tiger', 'raccoon']
我的代码中的错误是,如果我更改原始列表的顺序,最长的链会不同!!! :(
这是伪代码:
function longest-chain(chain, V , longest) #Recursively return the longest chain in V
extended = False
for word in V do
if chain + word is a legal chain then
longest = longest-chain(chain + word, V / {word})
extended = True
if extended is False then # No word in V could extend chain
if chain is longer than longest then
longest = chain
return longest
(/表示集差算子)
有人可以帮我正确实现它吗? 我不想发布我的代码,因为我想重新开始。
【问题讨论】:
-
"I didn't want to post my code because I wanted to start over."
-- 为什么不呢? -
周期呢?如果存在
rabbit tiger rabbit tiger ...
链会发生什么? -
为什么投反对票?除了没有提供信息的标题之外,IMO 的问题还可以。
标签: python