题解 | 最长公共子串

题目链接

注意:公共子串是要求连续的,公共子序列可以不连续

#include<stdio.h>
#include<algorithm>
#include<string>
using namespace std;
short dp[10002][10002];
int main(){
	char s1[10001], s2[10001];
	scanf("%s%s", s1, s2);
	int m = strlen(s1);
	int n = strlen(s2);
	short maxcnt = 0;
	for (int i = 0; i <= m; i++) {
		dp[i][0] = 0;
	}
	for (int i = 0; i <= n; i++) {
		dp[0][i] = 0;
	}
	for (int i = 1; i <= m; i++) {
		for (int j = 1; j <= n; j++) {
			if (s1[i-1]>='a'&&s1[i-1]<='z'&&s1[i - 1] == s2[j - 1]) {
				dp[i][j] = dp[i - 1][j - 1] + 1;
				maxcnt = max(maxcnt, dp[i][j]);//更新最大长度
			}else{
				dp[i][j] = 0;//不相等,长度归零
			}
		}
	}
	printf("%d\n",maxcnt);
	return 0;
}

计算机复试机试(王道版) 文章被收录于专栏

收录王道2026年计算机复试机试的(课程)代码题解,仅供个人学习参考 2026.2.25补充说明:已更完,祝好运!

全部评论

相关推荐

03-21 22:52
门头沟学院 C++
最近在玩树莓派(算是嵌入式吧),对ai有很大触感我认为ai写代码算是真实能力,但基本不会提升业务能力由于我在树莓派上安装的系统是最新版的,即使告诉ai了我的版本号,他还是会让我去旧版的路径修改印象比较深的是我在树莓派上装了opencv4.10,然后让ai给我人脸识别的代码,但ai却给了我haar级联分类器这种老版本的东西,而且我发现树莓派上安装的opencv也是阉割版,但我也不会装完全版,真是费老大劲了,又想着之前的项目中用过mediapipe可以辅助人脸识别,但是树莓派不让我装,哎,还是老版本的系统好啊,尽管新版本树莓派的帖子已经非常多了,但是ai就是不根据新版的给我提示今天发现树莓派装玩opencv重启后,会黑屏,了解到可能是某些图形显示库冲突了,但是我也不会改啊,用虚拟环境时,根本装不了mediapipe,好烦啊,那种我手上有了可以运行的代码,却没有环境运行的困境ai写代码真是快,但偶尔还是有点小错误,我今天让ai把两段代码合并,并清晰地描述了功能,但是,ai吐的几次代码都无法运行,所以我是认为ai不会提升你的业务能力有没有树莓派高手能救救我啊喵,刚刚又出现了这个错误&nbsp;&nbsp;Error&nbsp;creating&nbsp;directory&nbsp;'/media/berrypi':&nbsp;Structure&nbsp;needs&nbsp;cleaning&nbsp;&nbsp;跟着ai和网上帖子一顿操作,发现我的u盘还插在树莓派上,树莓派应该是恢复了,但是u盘数据没了真心求树莓派大佬喵~
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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