python 运行最长公共子序列算法报错 invalid syntax.Perhaps you forgot a comma?
class Solution:
def longgestquence(self,s1,s2):
len1=len(s1)
len2=len(s2)
array=[[0]*(len2+1) for_in range(len1+1)]
for i in range(1,len1+1):
for j in range(1,len2+1):
if s1[i-1]==s2[j-1]:
array[i][j]=array[i-1][j-1]+1
else:
array[i][j]=max(array[i-1][j],array[i][j-1])
return array[len1][len2]
for _ in range()
下划线是一个变量,两边要用空格隔开
for _ in ,这里 _ 两边需要空格隔开
class Solution:
def longgestquence(self,s1,s2):
len1 = len(s1)
len2 = len(s2)
array = [[0]*(len2+1) for _ in range(len1+1)]
for i in range(1,len1+1):
for j in range(1,len2+1):
if s1[i-1] == s2[j-1]:
array[i][j]=array[i-1][j-1]+1
else:
array[i][j]=max(array[i-1][j],array[i][j-1])
return array[len1][len2]
语法错误,_
是变量,不能直接接着for
或in
写,必须用空格隔开。
正确代码:
class Solution:
def longgestquence(self,s1,s2):
len1=len(s1)
len2=len(s2)
array=[[0]*(len2+1) for_in range(len1+1)]
for i in range(1,len1+1):
for j in range(1,len2+1):
if s1[i-1]==s2[j-1]:
array[i][j]=array[i-1][j-1]+1
else:
array[i][j]=max(array[i-1][j],array[i][j-1])
return array[len1][len2]