#不仅打印最大的子字符串字数也打印那个值是多少,算是看了大佬的思路之后的拓展。 #另外大佬没有考虑完全不匹配的情况,我加了,如果flag为空就打印0,max函数似乎不能用做flag为空的情况。 代码如下
while True:
try:
a=str(input())
b=str(input())
flag=[]
for i in range(len(a)):
for j in range(i+1,len(a)+1):#通过i递增达到一个指针效果,并且越来越短,因为从i到j,因此j只是为1
if b.count(a[i:j])!=0:#如果有就匹配上,count计数,相同就计数
flag.append(a[i:j])
if flag!=[]:#max(flag)处理不了为空的情况
c=[]
for i in flag:
c.append(len(i))#遍历,将长度放入数组
print(max(c))#打印最大的那个长度
print(flag[c.index(max(c))])#因为flag和c下标是一一对应的,所以通过index(max(c))找到那个数最大下标,因此可以打印最大的匹配字符串
else:
print(0)#所以单独写一个情况排除空的