最大公共子串-蓝桥杯真题 动态规划(c++实现)
上文链接:蓝桥杯真题之“方格分裂"_DFS深度搜索(c++实现)
最大公共子串
有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。
比如“qwerff”和“fqwerfo”,最大公共子串为“qwerf”,长度是5。
我的思路
- 算法过程。
- 将字符串“qwerff”和“fqwerfo”从头开始匹配
- 当字符串“qwerff”和“fqwerfo”匹配到q相同时,各自都向后匹配查找是否还有子串并记录公共字符串长度和比较最大长度
- 当查到字符串“qwerff”和“fqwerfo”的公共字符‘f’时,当前长度是5,再查下一个就不匹配
- 按照上述过程继续查找直到结束
- 动态规划思想体现在:在字符串“qwerff”和“fqwerfo”匹配到相应的字符时不用立即查找子串而是保存该记录,在之后的查找过程中在还原该子串已记录长度,算法如下。
算法展示
using namespace std;
#include <iostream>
#include <string>int main()
{//定义字符串及长度 string str1="qwerff";string str2="fqwerfo";int lenStr1 = str1.length();int lenStr2 = str2.length();int max=0,count;//接受最大长度int tag[256][256];//定义动态规划数组 for(int i=1;i<=lenStr1;i++){for(int j = 1;j<=lenStr2;j++){//匹配到值 if(str1[i-1]==str2[j-1]){/*tag[i-1][j-1]在刚开始str1与str2开始匹配到时值为0,那么对应的tag[i][j](即当前的最大字符长度是0+1=1,以后过程雷同)*/ tag[i][j]= tag[i-1][j-1]+1;count=tag[i][j]; if(count>max)max =count;//获取最大字符长度 }}} cout<<max<<endl;return 0;
}
下文链接:日期问题-蓝桥杯真题 具备基础日期知识查看(c++)
最大公共子串-蓝桥杯真题 动态规划(c++实现)相关推荐
- 蓝桥杯真题2017-2021
刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...
- 第五届蓝桥杯真题解析【JavaC组】
第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...
- 第四届蓝桥杯真题解析【JavaC组】
第四届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第四届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:组素数 C:马虎的算式 D:第39 ...
- 第八届蓝桥杯真题解析javaC组
第八届蓝桥杯真题解析javaC组 文章目录 ***第八届蓝桥杯真题解析javaC组*** 前言 A.外星日历 B.兴趣小组 C.纸牌三角形 D.承压计算 E.杨辉三角 F.最大公共子串 G.Excel ...
- 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和
注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...
- 第九届蓝桥杯真题解析JavaC组
第九届蓝桥杯真题解析JavaC组 文章目录 ***第九届蓝桥杯真题解析JavaC组*** 前言 A.哪天回家 B.猴子分香蕉 C.字母阵列 D.第几个幸运数 E.书号验证 F.打印大X G.缩位求和 ...
- c语言六角填数蓝桥杯答案,六角填数(全排列)蓝桥杯真题
六角填数(全排列)蓝桥杯真题 六角填数(全排列)蓝桥杯真题 如图所示六角形中填入1-12的数字,使每条直线上的数字和相等,图中已经填好了3个数字,请你计算*号数字是多少 蓝桥杯老套路,经常这样考全排列 ...
- 2016年第七届蓝桥杯真题解析JavaC组
相关题目: 2016年第七届蓝桥杯真题解析JavaB组 2016年第七届蓝桥杯真题解析JavaC组 2017年第八届蓝桥杯真题解析JavaB组 2017年第八届蓝桥杯真题解析JavaC组 2018年第 ...
- python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。
python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...
最新文章
- 7个IntelliJ IDEA必备插件,让写代码像火箭一样飞起!
- 数字信号处理第一章 离散时间信号与系统
- png 微软ppt 透明度_用5个技巧教你做出让人眼前一亮的「PPT章节页」,一看就会...
- 1.1 torch_数据操作
- redis aof持久化遇到的Can't open the append-only file Permissi
- dfa算法c语言,DFA跟trie字典树实现敏感词过滤(python和c语言)
- 贪心——FatMouse' Trade(hdu1003)
- 红安一中高考2021成绩查询,红安一中2019高考喜报成绩、一本二本上线人数情况...
- bzoj3631: [JLOI2014]松鼠的新家(LCA+差分)
- Keras实现卷积神经网络
- C#异步加载数据:BackgroundWorker的使用
- 手机android微信文件怎么恢复,微信文件过期或被清理怎么恢复?好工具,帮你安全快速找回文件!...
- “去哪儿”创始人兼总裁庄辰超专访实录
- 流计算及在特来电监控引擎中的实践
- Channel 用法
- 面试题:为什么说 Mybatis 是半自动ORM 映射工具?它与全自动的区别在哪里?
- 微信图片怎么添加竖排文字_怎样在手机上给微信图片上添加文字?
- 基于ACO蚁群优化的机器人避障算法仿真
- 【IoT】开放 IoT 平台:电信 NB-IoT 物联网开放平台与移动 oneNET 平台对比分析
- 流行的jQuery信息提示插件(jQuery Tooltip Plugin)【转】