python求两个字符串之间最小子串

def getNumofCommonSubstr(str1, str2):
  
    lstr1 = len(str1)
    lstr2 = len(str2)
    record = [[0 for i in range(lstr2+1)] for j in range(lstr1+1)]
    #开辟列表空间 需要多一位,否则存在边界问题
    maxNum = 0   # 最长匹配长度
    p = 0    # 匹配的起始位
  
    for i in range(lstr1):
        for j in range(lstr2):
            if str1[i] == str2[j]:
    # 相同则累加
                record[i+1][j+1] = record[i][j] + 1
                if record[i+1][j+1] > maxNum:
     # 获取最大匹配长度
                     maxNum = record[i+1][j+1]
     # 记录最大匹配长度的终止位置
                     p = i + 1
    return str1[p-maxNum:p], maxNum, p-maxNum
  
  
str1='acbcbced'
str2='acbcbcefa'

res = getNumofCommonSubstr(str1, str2)
print(res)

猜你喜欢

转载自blog.csdn.net/qq_16792139/article/details/120529353