题解 | #公共子串计算#

公共子串计算

https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

# 第一步:获取入参
num1=input()
num2=input()

# 第二步:判断2个入参长度,拿小的去比较大的。
length1,length2=len(num1),len(num2)
if length2<length1:
    num1,num2=num2,num1
    length1,length2=length2,length1

# 第三步:如果小入参长度等于1,直接判断他在不在大入参里面
if length1==1:
    if num1 in num2:
        print(1)
    else:
        print(0)
# 第四步:小入参长度大于1.遍历。使用切片判断子串是否在打入参里面。并把子串长度存在list1
else:
    list1=[]
    for i in range(length1):
        for j in range(i,length1):
            if num1[i:j+1] in num2 :
                length=(j+1)-i
                list1.append(length)
    # 第五步:如果子串为空,返回0,否则返回子串最大长度
    if len(list1)==0:
        print(0)
    else:
        print(max(list1))
        

全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务