题解 | 公共子串计算
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))