当前位置: 首页 > news >正文

最长公共子序列(一)

最长公共子序列(一)

⭐️难度:较难
⭐️类型:动态规划

📖题目:题目链接
描述
给定两个字符串 s1 和 s2,长度为 n 和 m 。求两个字符串最长公共子序列的长度。
所谓子序列,指一个字符串删掉部分字符(也可以不删)形成的字符串。例如:字符串 “arcaea” 的子序列有 “ara” 、 “rcaa” 等。但 “car” 、 “aaae” 则不是它的子序列。
所谓 s1 和 s2 的最长公共子序列,即一个最长的字符串,它既是 s1 的子序列,也是 s2 的子序列。

数据范围 :
1≤m,n≤1000
1≤m,n≤1000 。保证字符串中的字符只有小写字母。

输入描述:
第一行输入一个整数 n 和 m ,表示字符串 s1 和 s2 的长度。
接下来第二行和第三行分别输入一个字符串 s1 和 s2。
输出描述:
输出两个字符串的最长公共子序列的长度
示例1
输入:

5 6
abcde
bdcaaa

输出:

2

说明

最长公共子序列为 “bc” 或 “bd” ,长度为2

示例2
输入:

3 3
abc
xyz

输出:

0

📚题解:

f(x,y)的公共子串长度依赖于f(x-1,y-1)

在这里插入代码片#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<vector>// vector不需要.h#include<list>#include<set>// // 可以用 set 和 multiset#include<unordered_set>// 可以用 unordered_set 和 unordered_multiset#include<map>// 可以用 map 和 multimap#include<unordered_map>// 可以用 unordered_map 和 unordered_multimap#include<algorithm>#include<string>#include<iostream>#include<queue>#include<stack>usingnamespacestd;chars1[1005];chars2[1005];intdp[1005][1005]={0};// dp[i][j] s1的前i个元素 s2的前j个元素 的最大公共长度intmain(){intn,m;while(scanf("%d%d",&n,&m)!=EOF){scanf("%s%s",s1,s2);for(inti=1;i<=n;i++){dp[i][0]=0;// s2长度为0}for(inti=1;i<=m;i++){dp[0][i]=0;// s1长度为0}for(inti=1;i<=n;i++){for(intj=1;j<=m;j++){// s1[0] ~ s1[i-1] 和 s2[0] ~ s2[j-1]if(s1[i-1]==s2[j-1]){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=max(dp[i-1][j],dp[i][j-1]);// 前一步的最长公共子串长度}}}printf("%d\n",dp[n][m]);}return0;}
http://www.jsqmd.com/news/429291/

相关文章:

  • P2580 于是他错误的点名开始了
  • DVWA 靶场实验报告 (Low Level)
  • 2026多模态情感识别深度解析(非常详细),ComP跨模态提示全攻略,收藏这一篇就够了!
  • 2026年ASOC SCI2区TOP,基于树状网络的多目标人工蜂群学习算法在无人机中的应用,深度解析+性能实测
  • 哪些是可以提供市场调查服务的网站:头部机构汇总(防坑必看) - 品牌排行榜
  • Agent Lightning实战入门教程(非常详细),AI智能体自我进化从入门到精通,收藏这一篇就够了!
  • 修复Windows蓝屏问题
  • OpenClaw深度拆解教程(非常详细),下一代本地Agent操作系统全解析,收藏这一篇就够了!
  • 大数据领域Spark的调优经验分享
  • Jbd8:总结
  • 最短路 - ## 采购特价商品
  • RAG文本分块全攻略(非常详细),七种主流策略从入门到精通,收藏这一篇就够了!
  • LLM-RL训练框架入门基础教程(非常详细),3大流派+6大框架从入门到精通,收藏这一篇就够了!
  • Jbd3:HDFS
  • pikachu靶场——Cross-Site Scripting-4 XSS盲打与过滤(Kali系统)
  • 动态树LCT
  • 多模态大模型 | 利用词嵌入多模态语义知识对齐以增强图片-文本匹配
  • Jbd2:Hadoop
  • 云服务器配置 docker-spark
  • OpenKylin够牛,能远程操作的OpenKylin更牛!
  • go-zero的kafka配置
  • 2026年充电桩厂家全场景选型指南:汽车充电桩/重卡充电桩/船舶充电桩/两轮车充电桩 - 资讯焦点
  • Jbd0:前言 Jbd1:概述
  • 最短路 - ## 邮递员送信
  • 2026海外求职机构哪家成功率高:名企资源+导师实力测评(必看) - 品牌排行榜
  • 2026年2月中国网站建设公司推荐榜:十大靠谱口碑供应商 - 资讯焦点
  • 2026年3月京东E卡回收平台精选榜单|收券宝为何成为行业标杆 - 资讯焦点
  • 2026年3月京东E卡回收平台深度测评|收券宝凭三大优势登顶榜首 - 资讯焦点
  • leetcode172.阶乘后的零
  • RuVector:自学习的高性能矢量数据库 [特殊字符]