蓝桥杯2017第八届C语言B组省赛习题题解——习题F.最大公共子串*

每日刷题(二十三)

蓝桥杯第八届C语言B组省赛习题

习题F:最大公共子串

在这里插入图片描述
在这里插入图片描述
这里题目已经说明用矩阵法,定义了a[N][N]。这里有个符号常量N为256。很多人可能会对memset函数有一些困惑,当然,我们可以猜出它大致是把二维数组a初始化为0。
在这里插入图片描述
查了一下,以后要是要对数组清零可以使用memset(),他通常在<string.h>或头文件中。
接下来看有两层循环,第一层循环是以s1的长度遍历的,第二层循环是以s2的长度遍历,但它们的开头都是从1开始而不是0,但if语句判断里面又是从i-1和j-1判断的,接下来就是要填的部分。后来又有一个判断语句,max初始化是0,max的值会被改变,返回值又是max,输出的必须是最大公共字符串长度,那么我们基本上可以猜测,
在这里插入图片描述
这个题目还是很有意思的,很值得细品,这也是一种解决最大公共子串的方法
所以填空部分就是

a[i - 1][j - 1] + 1

如果喜欢我的文章,请记得三连哦,点赞关注转发,欢迎各位志同道合的IT友人在评论区讨论交流,感谢您的支持,下期更精彩!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值