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

推荐自助建网站平台全网推广方案

推荐自助建网站平台,全网推广方案,湖北勘察设计协会,南京做企业网站的公司1143. 最长公共子序列 📝 题目描述 给定两个字符串 text1 和 text2,返回它们的 最长公共子序列(LCS) 的长度。 如果不存在公共子序列,则返回 0。 示例: 输入: text1 "abcde", text2 "…

1143. 最长公共子序列

📝 题目描述

给定两个字符串 text1text2,返回它们的 最长公共子序列(LCS) 的长度。
如果不存在公共子序列,则返回 0。

示例:

输入: text1 = "abcde", text2 = "ace"
输出: 3
解释: 最长公共子序列是 "ace"

🔍 解题思路:动态规划(DP)

✅ 状态定义

dp[i][j] 表示:text1 前 i 个字符text2 前 j 个字符的最长公共子序列长度。

✅ 状态转移方程

如果 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])

✅ 初始化

  • dp[0][j] = 0dp[i][0] = 0 表示空串参与比较时 LCS 长度为 0。

✅ Python代码实现(动态规划) 

class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:m, n = len(text1), len(text2)dp = [[0] * (n + 1) for _ in range(m + 1)]for i in range(1, m + 1):for j in range(1, n + 1):if text1[i - 1] == text2[j - 1]:dp[i][j] = dp[i - 1][j - 1] + 1else:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])return dp[m][n]

📊 时间 & 空间复杂度分析 

项目复杂度
时间复杂度O(m * n)
空间复杂度O(m * n)

✅ 可进一步优化为 O(min(m,n)) 空间复杂度,使用滚动数组实现。 

🧠 延伸思考

  • 如果需要返回 最长公共子序列本身,可以通过记录路径倒推构造。

  • LCS 常用于 版本比较DNA比对文本相似度 等场景。

  • 与此题相关的变体:

    • 编辑距离(Leetcode 72)

    • 最长重复子数组(Leetcode 718)

 

http://www.dtcms.com/wzjs/427854.html

相关文章:

  • 中交建设集团网站新闻国内搜索引擎排行榜
  • 连云港市建设工程质量监督站网站北京网站优化企业
  • 政务网站建设工作的通知济南百度开户电话
  • 建网站logo怎么做域名注册 万网
  • vk社交网站做婚介亚马逊开店流程及费用
  • 开发门户网站需要注意什么搜索引擎主要包括三个部分
  • 一般什么企业需要建站优化公司哪家好
  • 潞城网站建设新东方雅思培训价目表
  • 网站用vps做dns网站seo搜索引擎优化案例
  • 怎样把已经有的网站做推广哪家网站推广好
  • 网站建设服务免费的大数据分析平台
  • 河北省廊坊市建设银行网站自己手机怎么免费做网站
  • 海外网网址国内做seo最好的公司
  • 江苏省常州建设高等职业技术学校网站google推广seo
  • 建设学校网站手机如何建网站
  • 网站建设国内现状优化设计单元测试卷答案
  • 前端做网站需要的技能seo兼职接单平台
  • 专做批发的网站电子竞价推广平台有哪些
  • 专做特卖的网站查域名注册详细信息查询
  • 别人品牌的域名做网站吗关键词搜索排名软件
  • 网站标签名词百度全网营销
  • 怎么做网站竞价抖音搜索关键词推广
  • 公司域名是什么意思windows优化大师会员兑换码
  • 学做网站制作第三方营销平台有哪些
  • 北京网站建设模板下载磁力搜索引擎哪个好
  • 上海网站建设百度推广公司哪家好如何成为百度广告代理商
  • 汝州住房和城乡建设局网站市场调研流程
  • 宁波公司建网站哪家网络营销的特征
  • 网站建设有免费的吗宝鸡网站开发公司
  • 企业网站样板制作百度知道网页版登录入口