国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現求兩個字符串的最長公共子串方法

2020-02-15 22:28:18
字體:
來源:轉載
供稿:網友

如下所示:

# coding:utf-8'''求兩個字符串的最長公共子串思想:建立一個二維數組,保存連續位相同與否的狀態''' 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  if __name__ == '__main__': str1 = raw_input() str2 = raw_input()  res = getNumofCommonSubstr(str1, str2) print res

輸出結果:字符串str1中的第一個最長公共子串(若有重復)

以上這篇python實現求兩個字符串的最長公共子串方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建宁县| 两当县| 盐亭县| 灌阳县| 巍山| 茂名市| 满洲里市| 肃北| 诏安县| 都昌县| 阿勒泰市| 田林县| 临沭县| 葫芦岛市| 平和县| 定州市| 若尔盖县| 牡丹江市| 沙雅县| 峨眉山市| 班戈县| 龙游县| 保康县| 沐川县| 天祝| 罗城| 泗阳县| 民县| 固镇县| 会昌县| 莱州市| 新乡县| 隆安县| 榕江县| 闵行区| 内黄县| 扶绥县| 尼勒克县| 阳春市| 会宁县| 金门县|