题解 | 公共子串计算

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))

全部评论

相关推荐

06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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