题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
#使用滑动窗口找公共子串,时间复杂度小于n的平方 def f(s1,s2):#两个字符串,且len(s1)<len(s2) for i in range(len(s1),-1,-1):#i为窗口大小,从len(s1)到0 for j in range(len(s1)-i+1):#j移动坐标,从0到len(s1)-i+1 if s1[j:j+i] in s2:#匹配到第一个子串就返回i,此时i为最大窗口,后续不需要遍历 return i string1=input() string2=input() if len(string1)>len(string2):#找长短字符串 s1=string2 s2=string1 else: s1=string1 s2=string2 print(f(s1,s2))