# -*- coding:utf-8 -*-
__author__ = 'yangxin_ryan'
class LongestCommonSubsequence(object):
def lcs(self, s1, s2):
"""
, ,
0
1
2 ( )
3 ( )
:param s1:
:param s2:
:return:
"""
size1 = len(s1) + 1
size2 = len(s2) + 1
# , , ( 0 )
data_path = [[["", 0] for j in list(range(size2))] for i in list(range(size1))]
for i in list(range(1, size1)):
data_path[i][0][0] = s1[i - 1]
for j in list(range(1, size2)):
data_path[0][j][0] = s2[j - 1]
print("init data ...")
print(data_path)
for i in list(range(1, size1)):
for j in list(range(1, size2)):
if s1[i - 1] == s2[j - 1]:
data_path[i][j] = ['↖', data_path[i - 1][j - 1][