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

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

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

a = input()  # 输入字符串 a
b = input()  # 输入字符串 b

# 确保 a 是较短的字符串
if len(a) > len(b):
    a, b = b, a

max_len = 0  # 最长公共子串的长度
max_str = ''  # 最长公共子串
for i in range(len(a)):  # 枚举字符串 a 的所有子串的起点 i
    for j in range(i + 1, len(a) + 1):  # 枚举字符串 a 的所有子串的终点 j
        if a[i:j] in b and j - i > max_len:  # 如果 a[i:j] 出现在字符串 b 中,且长度大于当前最长公共子串
            max_len = j - i  # 更新最长公共子串的长度
            max_str = a[i:j]  # 更新最长公共子串的内容

print(max_str)  # 输出最长公共子串

算法学习分析与整理 文章被收录于专栏

个人学习算法的文档整理与思考,举一反三,相爱相杀。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务