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

外贸服装网站建设沈阳seo网站关键词优化

外贸服装网站建设,沈阳seo网站关键词优化,上海做家教网站有哪些,全栈网站开发者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/46248.html

相关文章:

  • 游戏的网站中国国际新闻
  • 服装公司电商网站建设规划在哪个网站可以免费做广告
  • 北京上海网站建设公司微信软文是什么意思
  • 汕头网站制作方法沈阳专业seo关键词优化
  • 滨江网站建设制作电商引流推广方法
  • 网站做好了怎么办优化大师下载旧版本安装
  • 秦皇岛抚宁区建设局网站短视频seo询盘获客系统
  • 武汉市网站开发公司电话旺道seo优化
  • 厦门怎么没有 网站备案十大门户网站
  • wordpress翻译公司网站盘古百度推广靠谱吗
  • 购物网站开发的背景seo推广优化的方法
  • 大学生可以做的网站windows优化大师怎么卸载
  • 汕头网站制作找哪里10种营销方法
  • 网站开发与实训报告如何自己开发一个平台
  • 科技素材seo网络营销推广
  • ui培训机构排名seo网站推广招聘
  • 网站开发响应式实时积分榜
  • 专业做招聘网站免费注册二级域名的网站
  • 网站和新媒体建设审批制度网站安全检测在线
  • 海口网站设计网站seo视频
  • 海口公司网站建设短视频代运营合作方案
  • 做b2b需要建网站吗网络广告营销对应案例
  • 网站排名优化seo1688官网入口
  • 上海网站建设推广服务微信推广平台自己可以做
  • 镇江建网站免费b2b
  • 做网站要多免费站推广网站在线
  • 营销网站建设公司地址seo网站优化教程
  • 互联网建网站线下推广方案
  • 同仁行业网站建设报价百度搜索指数1000是什么
  • 专业做网站建设公淘宝一个关键词要刷多久