LCS( 'human'、 'chimp')を実行すると、 "hm"の代わりに "h"が表示されます。 LCS( 'gattaca'、 'tacgaacta')を実行すると、 "gaaca"の代わりに "g"が表示されます。 私はLCS( 'うわ'、 'うわ')を実行すると、正しい "ww"を得ています。 私はLCS( ''、 'whew')を実行すると、正しいものが得られます。 LCS( 'abcdefgh'、 'efghabcd')を実行すると、 "abcd"の代わりに "a"が表示されます。 私は間違って何をしていますか?あなたはLCSを書き込まない方法であること最長共通部分シーケンスPython 2関数
def LCS(S, T):
array = ''
i = 0
j = 0
while i < len(S):
while j < len(T):
if S[i] == T[j]:
array += S[i]
j += 1
i += 1
return array
ループを2番目のwhileループの最後にリセットする –
なぜこれが機能すると思われましたか? – user2357112
@ RahulMadhavan:いいえ、まだ完全に間違っています。このコードは実際には救済可能ではありません。固定されたバージョンは基本的に完全な書き換えになります。 – user2357112