文巾解题1143. 最长公共子序列
1 题目描述
2 解题思路
我们可以用动态规划解决这个问题。
假设我们用坐标i表示当前遍历到的text1的坐标,j表示当前遍历到的text2的坐标。ret[i][j]表示text1遍历到i,text2遍历到j的时候的最长公共子序列长度。
那么对每一对(i,j),ret[i][j]满足:
·如果text1[i]=text2[j],那么ret[i][j]是ret[i][j-1](text1的i坐标和text2的j-1坐标匹配)、ret[i-1][j](text1的i-1坐标和text2的j坐标匹配)、ret[i-1][j-1]+1(text1的i-1坐标和text2的j-1坐标匹配)中最大的一个。
·如果text1[i]≠text2[j],那么ret[i][j]是ret[i][j-1](text1的i坐标和text2的j-1坐标匹配)、ret[i-1][j](text1的i-1坐标和text2的j坐标匹配)、ret[i-1][j-1](text1的i-1坐标和text2的j-1坐标匹配)中最大的一个。
class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:ret=[]for i in range(len(text1)+1):ret.append([0]*(len(text2)+1))for i in range(1,len(text1)+1):for j in range(1,len(text2)+1):ret[i][j]=max(ret[i][j-1],ret[i-1][j],ret[i-1][j-1]+(text1[i-1]==text2[j-1]))return(max(max(ret)))
文巾解题1143. 最长公共子序列相关推荐
- 文巾解题 14. 最长公共前缀
1 题目描述 2 解题思路 2.1 排序后首尾的最大公共序列 首尾元素公共的部分,夹在他们中间的其他元素肯定也由这些公共前缀.3 class Solution:def longestCommonPre ...
- leetcode(力扣) 718. 最长重复子数组 1143. 最长公共子序列 1035. 不相交的线 (动态规划)
文章目录 718. 最长重复子数组 题目描述 思路分析 完整代码 1143. 最长公共子序列 1035. 不相交的线: 这三道题思路基本一样,尤其是最后两道,代码都一样,一点不需要改的,所以放一起把. ...
- LeetCode——1143. 最长公共子序列(Longest Common Subsequence)[中等]——分析及代码(Java)
LeetCode--1143. 最长公共子序列[Longest Common Subsequence][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划 (1)思路 (2)代 ...
- 1143.最长公共子序列
1143.最长公共子序列 文章目录 1143.最长公共子序列 一.题目描述 二.方法一:暴力法 三.方法二.动态规划 四.补充:打印输出最长公共子串 五:心得体会 1143. 最长公共子序列 一.题目 ...
- leetcode 1143. 最长公共子序列
难度:中等 频次:64 **题目:**给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串的 子序列 是指这样一个 ...
- leetcode 1143. 最长公共子序列(dp)
给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符 ...
- LeetCode 1143. 最长公共子序列(动态规划)
1. 题目 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符 ...
- leetcode - 1143. 最长公共子序列
给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何 ...
- LeetCode 1143 最长公共子序列
给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删 ...
最新文章
- python编程入门经典教程-2020年5个经典python编程入门视频教程推荐学习
- 中等职业教育计算机教学案例范文,职业中学计算机教学案例
- USTC English Club Note20171018
- 中石油训练赛 - The King’s Ups and Downs(记忆化搜索)
- iio Engine logoHTML5 应用框架 iio Engine
- 保温杯哪种材质最好_哪种保温杯质量好?
- 去除div css背景,jQuery-拖动div CSS背景
- string的compare operator
- matlab 函数教程,MATLAB函数 - Matlab教程
- 【金九银十】java数据结构和算法第二版
- 戴尔笔记本电脑 N4010 14R-468 BOIS简单解析
- Ubuntu引导文件丢失,grub修复(附加重装显卡驱动方法)
- NSIS求助!!!,如有大佬知道怎么办,请留言回复!!!感谢!!!
- 竹笛的分类有哪些?来认识竹笛的大家族。
- isFinite() 如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true
- 七牛上传图片初探 开始上传 暂停上传 继续上传
- 流程设计建模方法:流程的需求梳理之流程级别梳理
- NC 开发环境因电脑高分辨率导致系统文字、图标变小等。
- SV学习(1)——数据类型
- PnetLab模拟器一键汉化教程
热门文章
- ios开发中,User Defined Runtime Attributes的应用
- Cortana小娜:城市信息提醒
- 寻找区域中有几个点 叉乘+二分 poj 2318
- Win Srv 2012 R2 RDS移动RDS客户端
- Silverlight同步(Synchro“.NET研究”nous)调用WCF服务
- SCCM2007系列教程之十操作系统部署(二)
- 原来,07年我把自己给和谐了
- python绘图使用subplots出现标题重叠的解决方法
- TeXLive2019 安装(亲测有效)
- idea 升级到2020后 无法启动_【维修案例】2020年一汽奥迪Q5L发动机无法启动