擅长:python、mysql、java
<p>据我所知,join()通过另一个字符串连接一个字符串数组。例如,<code>"-".join(["a", "b", "c"])</code>将返回<code>a-b-c</code>。你知道吗</p>
<p>此外,您一开始将<code>temp</code>定义为一个字符串,但稍后使用双索引引用它,就像它是一个数组一样。据我所知,您可以通过单个索引调用引用字符串中的字符。例如,<code>a = "foobar"</code>,<code>a[3]</code>返回<code>b</code>。你知道吗</p>
<p>我改了你的密码。初始化数组以避免索引问题。你知道吗</p>
<pre><code>def lcs(x,y):
c = len(x)
d = len(y)
plot = [[0 for j in range(d+1)] for i in range(c+1)]
temp = [['' for j in range(d+1)] for i in range(c+1)]
highestcount = 0
longestWord = ''
for i in range(c):
for j in range(d):
if x[i] == y[j]:
plot[i+1][j+1] = plot[i][j] + 1
temp[i+1][j+1] = ''.join([temp[i][j],x[i]])
else:
plot[i+1][j+1] = 0
temp[i+1][j+1] = ''
if plot[i][j] > highestcount:
highestcount = plot[i][j]
longestWord = temp[i][j]
return plot, temp, highestcount, longestWord
x = "AGCTGGTCAG"
y = "TACGCTGGTGGCAT"
test = lcs(x,y)
print test
</code></pre>