首页 > 编程语言 >【晴问算法】提高篇—动态规划专题—最长公共子序列

【晴问算法】提高篇—动态规划专题—最长公共子序列

时间:2024-03-24 17:02:57浏览次数:20  
标签:专题 int s2 晴问 字符串 算法 序列 长度 最长

题目描述

现有两个字符串s1​​​​与s2​,求s1​​​​与s2​​​​的最长公共子序列的长度(子序列可以不连续)。

输入描述

第一行为字符串s1​​,仅由小写字母组成,长度不超过100

第一行为字符串s2​​​,仅由小写字母组成,长度不超过100

输出描述

输出一个整数,表示最长公共子序列的长度。

样例1

输入

sadstory adminsorry

输出

6

解释

最长公共子序列为adsory,长度为6

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 100;
string s;
string t;
int dp[MAXN][MAXN];//记录子问题的解,dp[i][j]表示字符串s的前i个字符和字符串t的前j个字符的最长公共子序列长度
int main(){
	cin >> s >> t;
	int ls = s.length();
	int lt = t.length();
	for(int i=1;i<=ls;i++)//填表方式,用i和j作为索引访问数组时候从1开始
		for(int j=1;j<=lt;j++){//两层循环遍历s和t的每个字符,比较是否相等
			if(s[i-1] == t[j-1]){//第i-1个和第j-1个相等
				dp[i][j] = dp[i-1][j-1] + 1;//表示当前位置位置的最长公共子序列长度比前一个位置多1
			}else if(s[i-1] != t[j-1]){//如果字符不相等
				dp[i][j] = max(dp[i-1][j],dp[i][j-1]);//表示当前位置的最长公共子序列长度与前一个位置保持一致
			}
		}
	}
	printf("%d",dp[ls][lt]);//即s1和s2的最长公共子序列长度
	
}

 

标签:专题,int,s2,晴问,字符串,算法,序列,长度,最长
From: https://blog.csdn.net/weixin_59725175/article/details/136818867

相关文章

  • 20240318-2-推荐算法Graph_Embedding
    GraphEmbedding在许多推荐场景下,可以用网络结构数据来刻画对象(用户、商品等)之间的关系。例如:可以将用户和商品作为网络中的结点,用户和商品之间的边代表购买关系。GraphEmbedding是一种将网络中对象之间的关系转换为每个对象的(向量)特征的一种技术。其主要想法是输入网......
  • 20240318-1-推荐算法gbdt_lr
    gbdtlrgbdt+lr是facebook提出在线广告模型,我们知道LR之前在广告和推荐系统由于其快速的计算而被广泛使用,使用由于lr是线性模型,其模型表现能力不强,需要做大量的特征工程。facebook提出提出使用决策树进行特征embedding。为了提升线性分类器的准确度,有两种方法进行特征......
  • 基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览RTL图:   仿真图:   导入到matlab显示效果如下:   2.算法运行软件版本matlab2022a vivado2019.2 3.算法理论概述      在计算机视觉领域,基于肤色模型和中值滤波的手部检测方法是一种常见的初步定位策略。该方法主要分为......
  • 指数退避算法
    指数退避算法指数退避算法在查看Ants的源码时,发现了一个关于自旋锁spinlock的一个操作,就此引入指数退避算法以及相关的实现.互斥锁/自旋锁示例代码func(sl*spinLock)Lock(){backoff:=1for!atomic.CompareAndSwapUint32((*uint32)(sl),0,1){//Le......
  • 算法思想总结:位运算
                            创作不易,感谢三连支持!!一、常见的位运算总结标题  二、位1的个数.-力扣(LeetCode) 利用第七条特性:n&(n-1)干掉最后一个1,然后每次都用count++去统计,直到变成0classSolu......
  • 【算法双周赛】蓝桥杯【小白赛】
    坤星球【算法赛】问题描述坤星球是一颗十万光年之外的星球,相比于地球的时间流逝它的时间流逝更加缓慢,坤星球1年等于地球2.5年。现在问你,2024坤年等于地球多少年?注意:答案输出阿拉伯数字,不能为浮点数。输入格式本题为填空题,无需输入即可作答。输出格式输出一个数......
  • 机器学习算法那些事 | 使用Transformer模型进行时间序列预测实战
    本文来源公众号“机器学习算法那些事”,仅用于学术分享,侵权删,干货满满。原文链接:使用Transformer模型进行时间序列预测实战时间序列预测是一个经久不衰的主题,受自然语言处理领域的成功启发,transformer模型也在时间序列预测有了很大的发展。本文可以作为学习使用Transformer模......
  • raft算法和etcd代码解析-3.网络分区问题及其它
    网络分区问题网络分区导致选举永远无法达成共识,选举不断超时,任期号将不断增加为避免这个问题,candidate会探测网络环境以免发起无意义的竞选集群变更leader收到配置变更要求,会广播配置变更日志,日志包括新结点和老节点,在收到老节点的多数派认可后,leader后提交该请求在处理配置......
  • Floyd 判圈算法
    概述  Floyd判圈算法又称作是龟兔赛跑算法,就是快慢指针的应用,主要用于判断并找到环形链表的入口。做法是设置两个指针,一个快指针(兔子),一个慢指针(乌龟),快指针一次移动两个节点,慢指针一次移动一个节点。如果有环存在,它们第一次会在环上相遇,这时快指针移动到出发点,转换成慢指针(就是......
  • 蓝桥杯2017年第八届真题-分巧克力(二分算法)
    题目描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是HixWi的方格组成的长方形。为了公平起见,小明需要从这N块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1.形状是正方形,边长是整数2.大......