RosettaCodeData/Task/Longest-common-subsequence/Python/longest-common-subsequence-1.py

13 lines
321 B
Python
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
def lcs(xstr, ystr):
"""
>>> lcs('thisisatest', 'testing123testing')
'tsitest'
"""
if not xstr or not ystr:
return ""
x, xs, y, ys = xstr[0], xstr[1:], ystr[0], ystr[1:]
if x == y:
return str(lcs(xs, ys)) + x
else:
return max(lcs(xstr, ys), lcs(xs, ystr), key=len)