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. 最长公共子序列相关推荐

  1. 文巾解题 14. 最长公共前缀

    1 题目描述 2 解题思路 2.1 排序后首尾的最大公共序列 首尾元素公共的部分,夹在他们中间的其他元素肯定也由这些公共前缀.3 class Solution:def longestCommonPre ...

  2. leetcode(力扣) 718. 最长重复子数组 1143. 最长公共子序列 1035. 不相交的线 (动态规划)

    文章目录 718. 最长重复子数组 题目描述 思路分析 完整代码 1143. 最长公共子序列 1035. 不相交的线: 这三道题思路基本一样,尤其是最后两道,代码都一样,一点不需要改的,所以放一起把. ...

  3. LeetCode——1143. 最长公共子序列(Longest Common Subsequence)[中等]——分析及代码(Java)

    LeetCode--1143. 最长公共子序列[Longest Common Subsequence][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划 (1)思路 (2)代 ...

  4. 1143.最长公共子序列

    1143.最长公共子序列 文章目录 1143.最长公共子序列 一.题目描述 二.方法一:暴力法 三.方法二.动态规划 四.补充:打印输出最长公共子串 五:心得体会 1143. 最长公共子序列 一.题目 ...

  5. leetcode 1143. 最长公共子序列

    难度:中等 频次:64 **题目:**给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串的 子序列 是指这样一个 ...

  6. leetcode 1143. 最长公共子序列(dp)

    给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符 ...

  7. LeetCode 1143. 最长公共子序列(动态规划)

    1. 题目 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符 ...

  8. leetcode - 1143. 最长公共子序列

    给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何 ...

  9. LeetCode 1143 最长公共子序列

    给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删 ...

最新文章

  1. python编程入门经典教程-2020年5个经典python编程入门视频教程推荐学习
  2. 中等职业教育计算机教学案例范文,职业中学计算机教学案例
  3. USTC English Club Note20171018
  4. 中石油训练赛 - The King’s Ups and Downs(记忆化搜索)
  5. iio Engine logoHTML5 应用框架 iio Engine
  6. 保温杯哪种材质最好_哪种保温杯质量好?
  7. 去除div css背景,jQuery-拖动div CSS背景
  8. string的compare operator
  9. matlab 函数教程,MATLAB函数 - Matlab教程
  10. 【金九银十】java数据结构和算法第二版
  11. 戴尔笔记本电脑 N4010 14R-468 BOIS简单解析
  12. Ubuntu引导文件丢失,grub修复(附加重装显卡驱动方法)
  13. NSIS求助!!!,如有大佬知道怎么办,请留言回复!!!感谢!!!
  14. 竹笛的分类有哪些?来认识竹笛的大家族。
  15. isFinite() 如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true
  16. 七牛上传图片初探 开始上传 暂停上传 继续上传
  17. 流程设计建模方法:流程的需求梳理之流程级别梳理
  18. NC 开发环境因电脑高分辨率导致系统文字、图标变小等。
  19. SV学习(1)——数据类型
  20. PnetLab模拟器一键汉化教程

热门文章

  1. ios开发中,User Defined Runtime Attributes的应用
  2. Cortana小娜:城市信息提醒
  3. 寻找区域中有几个点 叉乘+二分 poj 2318
  4. Win Srv 2012 R2 RDS移动RDS客户端
  5. Silverlight同步(Synchro“.NET研究”nous)调用WCF服务
  6. SCCM2007系列教程之十操作系统部署(二)
  7. 原来,07年我把自己给和谐了
  8. python绘图使用subplots出现标题重叠的解决方法
  9. TeXLive2019 安装(亲测有效)
  10. idea 升级到2020后 无法启动_【维修案例】2020年一汽奥迪Q5L发动机无法启动