首页 > 试题广场 >

最大公共子串

[编程题]最大公共子串
  • 热度指数:4225 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个字符串,请编写代码,输出最长公共子串(Longest Common Substring),是指两个字符串中的最长的公共子串,要求子串一定是连续。

数据范围:输入的两个字符串长度满足

输入描述:
文本格式,2个非空字符串(字母数字组成),2个字符串以","英文逗号分割。


输出描述:
整形,为匹配到的最长子串长度
示例1

输入

bab,caba

输出

2
头像 白伟仝
发表于 2020-05-07 09:34:41
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] s = s 展开全文
头像 重生之我要当分子
发表于 2024-12-31 17:51:16
解题思路 为了找到两个字符串的最长公共子串,我们可以使用暴力匹配的方法。具体步骤如下: 暴力匹配: 对于每一对字符位置 (i, j),从 s1 和 s2 的当前位置开始,逐个比较字符,直到不相等为止。 记录最大长度: 在每次匹配过程中,记录当前匹配的长度,并更新最大长度。 返回结 展开全文
头像 沅如风
发表于 2022-08-24 00:25:03
s1, s2 = input().split(',') # 输入 # 初始化dp前缀二维数组 dp = [[0 for j in range(len(s2))] for 展开全文