题解 | 公共子串计算

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

全部评论

相关推荐

09-13 08:41
服装/纺织设计
那一天的Java_J...:你第一次参加面试吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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