首页 > 试题广场 >

最长公共子串

[编程题]最长公共子串
  • 热度指数:4065 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。


输入描述:
给定两行字符串

长度在1000以内


输出描述:
输出这两个字符串的最长公共连续子串的长度
示例1

输入

abcde
bcd

输出

3
头像 白色高跟鞋
发表于 2020-06-20 22:06:14
动态规划: a, b = input(), input() f = [[0] * (len(b) + 1) for _ in range(len(a) + 1)] # f[i][j] 以a[i]和b[j]结尾的共同子串长度 end, max_len = 0, 0 for i in range(l 展开全文
头像 bandiaoz
发表于 2024-12-21 21:15:44
解题思路 这是一个最长公共子串问题。关键点如下: 给定两个字符串(可能包含空格) 需要找出它们的最长公共连续子串的长度 字符串长度在1000以内 解题思路: 使用动态规划解决 创建二维 数组, 表示以 和 结尾的最长公共子串长度 当 时, 否则 在遍历过程中记录最大值 代码 展开全文