#============================================================================== # 序列对比,动态规划 #============================================================================== def LCS(str1,str2): C = [[0 for i in range(len(str1) + 1)] for j in range(len(str2) + 1)] for i in range(1,len(str2) + 1): for j in range(1,len(str1) + 1): if str2[i - 1] == str1[j -1]: C[i][j] = C[i - 1][j - 1] + 1 else: C[i][j] = max(C[i - 1][j], C[i][j - 1]) return C[len(str2)][len(str1)] print LCS('cabc','cbac')