if next_qi < qi + lcs_len \ # If the next qLCS overlaps and next_ri + lcs_len > ri: # If the next rLCS end overlapsdel candidate_lcs[qi] # Delete dupilicate LCS.
因此,我试图在Python中实现最低的公共子序列,并尝试替代以前的解决方案。我试着用字典代替二维矩阵来回溯结果。def lcs(s1, s2):
if len(s1) == 0 or len(s2) == 0: if (s1, s2return cache[s1, s2] if s1[-1] == s2[-1]: