如何解决最长公共子串的递归解决方案不起作用
我正在尝试递归获取最长的公共子字符串,但由于某种原因,我的代码无法正常工作。
def lcs(s,t):
if not s or not t:
return ''
if s[0] is t[0]:
return s[0] + lcs(s[1:],t[1:])
a = lcs(s[1:],t)
b = lcs(s,t[1:])
return b if len(a) < len(b) else a
print(lcs("JHELLOIAHDS","NHELLOOKSÇA"))
output>> HELLOS
两个输入字符串是“JHELLOIAHDS”和“NHELLOOKSÇA” 并且输出应该是HELLO。 我做错了什么,为什么我的输出是“HELLOS”?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。