下面是我的代码,用于解决在相同顺序的两个字符串中查找相同字母的最大序列的问题。我的方法基本上是查看字母是否在两个字符串中,然后在该字母上,比较字符串被切片以避免以错误的顺序计算任何内容(例如,SHA和HAP具有HA公共,但SAH和HAP只有A或H公共)
def commonChild(s1, s2):
stringA = []
a = s1
stringB = []
b = s2
y = 0
x = 0
for num in s1:
if num in b[y:]:
stringA.append(num)
y = b.index(num) + 1
else:
pass
for num in s2:
if num in a[x:]:
stringB.append(num)
x = a.index(num) + 1
else:
pass
theone = max(len(stringA),len(stringB))
return theone
它适用于小型测试(s1=SALLY,s2=HARRY),但对于大型测试,我发现我的切片没有正确执行(切片发生在错误的索引处)。关于如何改进切片的任何建议
目前没有回答
相关问题 更多 >
编程相关推荐