如题,输出最长公共子串及其长度。
import sys
if __name__ == "__main__":
n1 = sys.stdin.readline().strip()
n2 = sys.stdin.readline().strip()
arr = [[0 for i in range(len(n2)+1)] for j in range(len(n1)+1)]
maxLenght = 0
for i in range(len(n1)):
for j in range(len(n2)):
if n1[i]==n2[j]:
arr[i+1][j+1]=arr[i][j]+1
maxLenght = max(maxLenght,arr[i+1][j+1])
if maxLenght == arr[i+1][j+1]:
resultStr = n1[i+1-maxLenght:i+1]
print maxLenght
print resultStr