题解 | #查找两个字符串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) # 输出最长公共子串
算法学习分析与整理 文章被收录于专栏
个人学习算法的文档整理与思考,举一反三,相爱相杀。