题解 | #查找两个字符串a,b中的最长公共子串#
查找两个字符串a,b中的最长公共子串
https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
while 1: try: a = input() b = input() dic = {} y = [] for i in range(len(a)): for j in range(i+1,len(a)): if a[i: j+1] in b: dic[a[i:j+1]] = len(a[i:j+1]) for i in dic: if dic[i] == max(dic.values()): y.append(i) #以下为了解决相同长度字符串出现相同长度长度字串的问题 if len(y) == 1: print(y[0]) else: if len(a)>len(b): for i in range(len(b)): if b[i:i+len(y[0])] in y: print(b[i:i+len(y[0])]) break elif len(a)<len(b): for i in range(len(a)): if a[i:i+len(y[0])] in y: print(a[i:i+len(y[0])]) break else: for i in range(len(a)): if a[i:i+len(y[0])] in y: m =i ym = a[i:i+len(y[0])] break for i in range(len(b)): if b[i:i+len(y[0])] in y: n =i yn = b[i:i + len(y[0])] break if m>n: print(yn) elif m<n: print(ym) except: break