题解 | #查找两个字符串a,b中的最长公共子串#

查找两个字符串a,b中的最长公共子串

https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

# 第一步:获取两个入参,以及两个入参长度
num1=input()
num2=input()
length1,length2=len(num1),len(num2)

# 第二步:判断两个入参大小。小的在第一个,大的在第二个
if length2<length1:
    length1,length2=length2,length1
    num1,num2=num2,num1

# 第三步:遍历小入参。以切片格式判断所有公共子字符串。所以公共子字符串放到list1
list1=[]
for i in range(length1):
    for j in range(i,length1):
        if num1[i:j+1] in num2:
            list1.append(num1[i:j+1])

# 第四步:遍历list1,所有子字符串长度分别计算,放到list2
list2=[]
for i in list1:
    list2.append(len(i))

# 第五步:遍历list1:公共子字符串中,长度最长的元素都放到list3中
list3=[]
for i in list1:
    if len(i)==max(list2):
        list3.append(i)
# 第六步:返回list3的第一个元素
print(list3[0])

全部评论

相关推荐

程序员饺子:正常 我沟通了200多个 15个要简历 面试2个 全投的成都的小厂。很多看我是27直接不会了😅
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务