Я пытаюсь выполнить функцию фильтрации вызовов, который использует рекурсию, чтобы дать мне число позиций ЛВПА действительно, наряду с местом ЛВПА изображенном здесь:Максимальная Рекурсия в ЛВПЕ рекурсивной функции
input: LCS("smile", "tile")
output: [3, "##ile", "#ile"]
Всякий раз Я стараюсь исполнить его, он говорит мне, что есть ошибка рекурсии следующим образом:
RecursionError: maximum recursion depth exceeded in comparison
что случилось с моим кодом? Я попытался заменить области, в которых LCS не применялась через рекурсию, но где функция превышает ее глубину?
def LCS(s1, s2):
if s1 == "" or s2 == "":
return 0
else:
if s1[0] == s2[0]:
s1 = s1 + s1[0]
s2 = s2 + s2[0]
count = 1 + LCS(s1[1:], s2[1:])
else:
s1 = s1 + '#'
count = max(LCS(s1, s2[1:]), LCS(s1[1:], s2))
array = [count] + [s1] + [s2]
print(array)