编程题—leetcode1143:最长公共子序列

LeetCode第1143题最长公共子序列 题目来源 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。 若这两个字符串没有公共子序列,则返回 0。 示例 1: 输入:text1 = “abcde”, text2 = 阅读详情

题目链接

题目描述
给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。
例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。
若这两个字符串没有公共子序列,则返回 0。

示例 1:
输入:text1 = "abcde", text2 = "ace" 
输出:3  
解释:最长公共子序列是 "ace",它的长度为 3。
示例 2:
输入:text1 = "abc", text2 = "abc"
输出:3
解释:最长公共子序列是 "abc",它的长度为 3。
示例 3:
输入:text1 = "abc", text2 = "def"
输出:0
解释:两个字符串没有公共子序列,返回 0。

 提示:
1 <= text1.length <= 1000
1 <= text2.length <= 1000
输入的字符串只含有小写英文字符。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目分析

还是直接看大神写的吧,很66
https://leetcode-cn.com/problems/longest-common-subsequence/solution/dong-tai-gui-hua-zhi-zui-chang-gong-gong-zi-xu-lie/

通过代码
class Solution {
    public int longestCommonSubsequence(String text1, String text2) {
    	int m=text1.length();
    	int n= text2.length();
    	int [][] dp =new  int [m+1][n+1];
    	for(int i=1;i<=m;i++)
    		for(int j=1;j<=n;j++) {
    			if (text1.charAt(i-1)==text2.charAt(j-1)) dp[i][j]=1+dp[i-1][j-1];
    			else dp[i][j]=Math.max(dp[i-1][j], dp[i][j-1]);
    		}
    	return dp[m][n];
    }
向量乘法器设计 同样基于Wallace树乘法器,我们来构造向量乘法器。 在一些矩阵运算中经常用到向量的相乘运算,本例以4维向量为例子介绍向量乘法器的verilog HDL设计。 设向量a = (a1, a2, a3, a4), b = (b1, b2, b3, b4)。 则a 与 b的点乘为:a * b = a1 b1 + a2 b2 + a3 b3 + a4 b4, 即向量对应位置的值相乘,再相加... 阅读详情

相关推荐

生成式深度学习(第二版)-第一章-Conda环境下TensorFlow和Keras的安装和配置

按照书籍中的代码运行提示,需要配置Docker。个人的机器上正好有 conda4.14.0,索性就在本地环境进行配置。

GarryWang1248的博客 398

lcs leetcode1143 dp

最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。 两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。 示例 1: 输入:text1 = “abcde”, tex.

weixin_46186724的博客 534

别再手动算了!用Excel函数一键搞定AQI和首要污染物分析(附完整公式模板)

本文介绍如何利用Excel函数自动化计算AQI和首要污染物分析,大幅提升数据处理效率。通过构建标准化输入模板、智能计算IAQI、自动判定AQI与首要污染物,并生成可视化仪表盘,帮助环保工作者快速完成每日监测报告。

weixin_30443075的博客 344

最长公共子序列Leetcode,动态规划

题目: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 输入:text1 = “abcde”, text2 = “ace” 输出:3 解释:最长公共子序列是 “ace” ,它的长度为 3 。 输入:text1 = “abc”, text2 = “abc” 输出:3 解释:最长公共子序列

qq_43650421的博客 224

Cass三角网法土方计算优化技巧:如何根据地形特点调整边界采样间距

本文深入探讨了Cass软件中三角网法(DTM法)土方计算的优化技巧,核心在于如何根据地形的复杂程度动态调整边界采样间距。针对平坦、复杂及人工构造物等不同地形特征,提供了具体的间距调整策略与精度验证方法,旨在帮助工程师在计算精度与效率间找到最佳平衡,实现精细化土方计算。

weixin_29294975的博客 523

保姆级教程:用GMT6.1绘制专业地形起伏图(从数据下载到出图避坑)

本文提供了一份详细的GMT6.1绘制地形起伏图的保姆级教程,从环境搭建到数据下载,再到核心绘图命令解析,帮助用户避开常见错误。特别适合科研人员和地理信息爱好者快速掌握专业地形图的绘制技巧,提升工作效率。

weixin_42549723的博客 276

LeetCode1143最长公共子序列

题目: 给定两个字符串text1 和text2,返回这两个字符串的最长公共子序列。 一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。 ...

weibozhouchao的博客 352

某城商银行生产容器云平台详细设计方案分享及经验总结

AS3模式的CIS容器部署在K8S集群内,作为F5的控制器,CIS容器通过对K8S集群内Configmap资源进行监控,将Configmap资源中的内容转化为F5的配置,将配置推送给 F5 ,CIS容器还通过K8S标准的API接口完成业务发现和实时监听集群内Pod的变化,一旦Pod发生变化,相应的更新会及时推送给F5,并完成更新。容器技术发展非常迅速,现在应用大多以容器作为承载介质,前两年在容器云上承载的应用类型主要是Web类,随着容器云领域的不断发展,越来越多的应用类型将迁移至容器云,包括有状态应用。

qq_61890005的博客 856

蓝桥杯DP算法最长公共子序列

最长公共子序列 给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。 如果不存在公共子序列则返回0. 一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不变字符串的相对顺序情况下删除某些字符后组成的新字符串。 例如“ace”是“abcde”的子序列,但是“aec”不是“abcde”的子序列 两个字符串公共子序列是这两个字符串所共同拥有的子序列。 样例输入 abcde ace 样例输出 3 样例输入 abc abc 样例输出 3 代码实现 import java.uti

weixin_54079465的博客 601

OpenClaw 开机自启配置:Windows/macOS/Linux 全平台技术指南

OpenClaw 开机自启全平台配置指南 本文提供了在Windows、macOS和Linux系统上配置OpenClaw开机自启的完整技术方案。主要内容包括: Windows配置:提供三种方法(Windows服务、任务计划程序、启动文件夹),详细说明服务脚本创建、服务注册和测试流程 macOS配置:使用LaunchAgent实现开机自启,包含配置文件创建和加载方法 Linux配置:通过systemd服务实现,包括服务单元文件创建和启用步骤 系统要求:明确硬件(64位CPU/4GB内存)和软件(各平台操作系统版

一键难忘的博客 2993

智能生活中枢:基于 ESP32-S3 的桌面智能助手与日程提醒终端设计与实现

本文完成了基于 ESP32-S3 的桌面智能助手与日程提醒终端的完整设计,实现了时间同步、日程管理、声光提醒、环境监测、本地存储等核心功能。硬件接线简洁、软件逻辑清晰,可直接制作成品使用。硬件方案:以 ESP32-S3 为核心,搭配 OLED、DS3231、DHT11、按键、声光模块,接线标准化、易复刻;软件方案:基于 Arduino 开发,提供标准 Mermaid 软件流程图,代码模块化、可直接编译运行;核心功能:网络授时、本地日程管理、掉电存储、声光提醒、温湿度监测,满足桌面智能助手全场景需求。

weixin_42300449的博客 209

c语言动态规划公共字符串,最长公共子串 C语言 动态规划

给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,“ace”是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子...

weixin_39608457的博客 441

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【代码随想录二刷】Day53-动态规划-Go

代码随想录二刷第53天

weixin_38255385的博客 184

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode、1143. 最长公共子序列【中等,二维DP】

LeetCode、1143. 最长公共子序列【中等,二维DP】 题目内容:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。 两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。

每个人都是独一无二的,把握好自己的节奏,跟着自己的心走。 2072

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LeetCode-1143. 最长公共子序列【字符串 动态规划】

如果text1[i - 1] 与 text2[j - 1]不相同,那就看看text1[0, i - 2]与text2[0, j - 1]的最长公共子序列 和 text1[0, i - 1]与text2[0, j - 2]的最长公共子序列,取最大的。如果text1[i - 1] 与 text2[j - 1]相同,那么找到了一个公共元素,所以dp[i][j] = dp[i - 1][j - 1] + 1;即:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);

zik的博客 1997

力扣1143-最长公共子序列(Java详细题解)

注意这里的子序列和力扣718. 最长重复子数组的子序列不一样,本题的子序列是可以不连续的,而最长重复子数组是需要连续的。当nums[i - 1] == nums[j - 1]时,说明此时结尾的元素相等,那么此时的最长公共子序列就等于他前一个状态加上相同元素的长度即可.因为dp[i] [0]和dp[0] [i]是将一个没有意义的字符串和另一个字符串求最长公共子序列,所以他们的长度就为0。dp[i] [j]的含义是以i - 1结尾的字符串与j - 1结尾的字符串最长公共子序列的长度。所以主要是俩大情况。

2302_79761426的博客 1263

【算法】力扣【动态规划,LCS模板】1143. 最长公共子序列

动态规划提供了一种有效的方法,该方法通过分解为更小的子问题,并存储这些子问题的解来避免重复计算。使用动态规划求解LCS问题,我们通常使用选或不选子序列中的某一元素的思路来推导最长公共子序列中的元素组成,可以通过将两个串的长度作为问题规模看待,自顶向下地不断减小问题规模,再自底向上地利用子问题的解得到原问题的解。该题目要求计算两个字符串的最长公共子序列(Longest Common Subsequence,简称LCS)的长度。字符串的子序列是指在不改变字符顺序的情况下,通过删去某些字符后形成的新字符串。

未来就在脚下。 1506

leetcode 1143:最长公共子序列

leetcode 1143:最长公共子序列 题目描述:求两个子序列的最长公共子序列 输入:text1 = “abcde”, text2 = “ace” 输出:3 解释:最长公共子序列是 “ace”,它的长度为 3。 解题步骤:和leetcode 516:最长回文子序列类似。 1、 状态定义:dp[i][j]其中i表示字符串1的前i个字符,j表示字符串2的前j个字符,dp[i][j]表示s1[0…i...

张毅的博客 413

力扣 — — 最长公共子序列

也就是说当第一个字符长度为 0 时,最大公共子序列为 0 ,第二个字符长度为 0 时,最大公共子序列也为 0;并从这两个子序列中取最大值作为当前两个字符串匹配的最大公共子序列。第二个字符串回退一个字符串后与第一个字符串匹配的最长公共子序列。第一个字符串回退一个字符后与第二个字符串匹配的最长公共子序列。个字符时,将两个字符串都回退一个字符,:求两个字符串的最长公共序列。个字符与第二个字符串的前。个字符等于第二个字符的第。个字符的最大公共子序列。,含义第一个字符串的前。如果第一个字符串的第。

SoyMilk的博客 1031

leetcode hot100【Leetcode 1143.最长公共子序列】java实现

Leetcode 1143.最长公共子序列-动态规划

DataCrafter的博客 753

【每日算法】LeetCode 1143. 最长公共子序列

摘要: 最长公共子序列(LCS)是前端开发者进阶必须掌握的动态规划经典问题。本文通过三个示例分析LCS问题,提出二维动态规划解法,其核心在于定义dp[i][j]表示text1前i个字符与text2前j个字符的LCS长度。状态转移分两种情况:当字符相等时,dp[i][j]=dp[i-1][j-1]+1;不等时取dp[i-1][j]和dp[i][j-1]的最大值。给出标准版(O(mn)空间)和优化版(O(min(m,n))空间)两种实现,后者通过滚动数组显著降低空间消耗。该算法不仅本身高效,其思想对理解虚拟DO

LYFlied的博客 1076

力扣每日一题:1143. 最长公共子序列

目录题目:1143. 最长公共子序列示例1示例2示例3解题思路解题代码解题感悟 题目:1143. 最长公共子序列 难度: 中等 题目: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。 两

aruewds的博客 385

leetcode1143. 最长公共子序列-动态规划(java)

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。解释:最长公共子序列是 “ace” ,它的长度为 3。解释:最长公共子序列是 “abc” ,它的长度为 3。解释:两个字符串没有公共子序列,返回 0。

SP_1024的博客 1826

Leetcode1143.最长公共子序列(C语言)

Leetcode1143.最长公共子序列(C语言) 算法-动态规划:算法与数据结构参考 题目: 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例: 输入:text1 = “abcde”, text2 = “ace” 输出:...

jeanlu的博客 762

LeetCode 1143.最长公共子序列

LeetCode 1143.最长公共子序列(LCS) 双序列型 确定状态: 设字符串为s1和s2,长度分别为m和n。 此时LCS长度为l 存在三种情况: s1[i]此时不在LCS中,是多余的 s2[j]此时不在LCS中,是多余的 s1[i]==s2[j],此时l=l+1 状态:设f[i][j]为s1前i个字符和s2前j个字符的LCS长度 转移方程: f[i][j]=max{ f[i-1][j]...

未命名 301

LeetCode1143 最长公共子序列

文章目录一. 题目描述二. 解题思路三. 代码 一. 题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。 若这两个字符串没有公共子序列,则返回 0。 来源:力扣(

weixin_43849063的博客 329
上一篇: 编程题—剑指offer: 二叉树中和为某一值的路径
下一篇: 腾讯、阿里、美团2020年暑期实习面试
code_AC
博客等级 码龄12年 255粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值