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

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

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

while True:
    try:
        list_a, list_b = input(), input()  # 存放两个字符串
        if len(list_a) > len(list_b):
            list_a, list_b = list_b, list_a  # 保证a列表是短列表,b列表是长列表
        len_1 = len(list_a)  # 获取列表长度
        len_2 = len(list_b)  # 获取列表长度
        rept = ""  # 创建一个存放重复字符串的空字符串

        for i in range(0, len_1):  # 滑动窗口的起始序号,范围到短列表的长度即可
            for j in range(i, len_1):  # 滑动窗口的结束序号,从i开始,范围同样到短列表的长度即可
                if list_a[i : j + 1] in list_b and j + 1 - i > len(rept):  # 判断窗口里的字符串是否在长列表里,同时判断是否比当前重复字符串长
                    rept = list_a[i : j + 1]  # 将窗口值赋值给rept
        print(rept)  # 打印rept
    except:
        break

参考了评论区大佬的作答,自己写了一遍,加了备注便于自己理解

#华为机试HJ65#
全部评论

相关推荐

不愿透露姓名的神秘牛友
12-18 11:21
优秀的大熊猫在okr...:叫你朋友入职保安,你再去送外卖,一个从商,一个从政,你们两联手无敌了,睁开你的眼睛看看,现在是谁说了算(校长在背后瑟瑟发抖)
选实习,你更看重哪方面?
点赞 评论 收藏
分享
烤点老白薯:他第二句话的潜台词是想让你帮他点个瑞幸或者喜茶啥的
mt对你说过最有启发的一...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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