题解 | 公共子串计算

def longest_common_substring(s1, s2):
    n, m = len(s1), len(s2)
    max_len = 0

    # 使用列表推导式和zip来比较两个字符串的字符,并使用enumerate来获取索引
    for i in range(n - max_len, -1, -1):
        for j in range(m - max_len, -1, -1):
            k = 0
            while i + k < n and j + k < m and s1[i + k] == s2[j + k]:
                k += 1
            max_len = max(max_len, k)
    
    return max_len

# 读取输入
s1 = input().strip()
s2 = input().strip()

# 计算并输出结果
print(longest_common_substring(s1, s2))

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 13:05
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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