これは、「単語の連鎖を再生する」と「単語の長い連鎖を構築する」の変形です。
入力は、[az]の文字で構成された2文字以上の一意の単語の空でないリストです。可能な限り長いチェーンの長さを出力する必要があります。後続の各単語は、前の単語の最後の文字で始まります。リストの任意の単語から始めることができます。
別のひねりは、あなたがリスト上の任意の単一の単語を繰り返すことを許可されていることです。ただし、2ワードブロックを繰り返すことはできません。たとえば、2ワードのブロック()を繰り返したため、
cat->tac->cat
は許可されていますが、許可されていcat->tac->cat->tac
ませんcat->tac
。また、同じ単語を2回続けて使用することはできません(例:)eye->eye
。
例:
cat dog tree egg
=> 3(猫->木->卵)new men ten whim
=> 5(ten-> new-> whim-> men-> new)truth fret heart his
=> 5(フレット->真実->ハート->真実->彼)we were stew early yew easy
=> 9(シチュー->あった->早い->イチ->いた->イージー->ユー->ウィー>>イージー)tac cat tac cot tac can
=> 6(tac-> cat-> tac-> cot-> tac-> can)
(私がこれらの例のいずれかで間違いを犯したかどうか、またはあなたがもっと思いついた場合はお知らせください。)
"cat dog tred xy yz zx"
を返します4
。あれは正しいですか?そうじゃないの3
?