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

leetcode hot100 之 最长公共子序列

题目

给定两个字符串 text1text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。

示例 1:
输入:text1 = “abcde”, text2 = “ace”
输出:3
解释:最长公共子序列是 “ace” ,它的长度为 3 。

原题链接:https://leetcode.cn/problems/longest-common-subsequence/description/

思路

以 dp[i][j] 表示,text1[0:i] 和 text2[0:j] 的最长公共子序列长度。

找转移方程:
当 text[i] == text[j] 时,即两个子字符串末尾的字符相同时,dp[i][j] = dp[i-1][j-1] + 1。
当 text[i] != text[j] 时,dp[i][j] = max(dp[i-1][j], dp[i][j-1])。

找边界条件:
当 i=0 或 j=0 时,显然可得 dp[i][0]、dp[0][j] = 0

代码

class Solution {
public:int longestCommonSubsequence(string text1, string text2) {int m = text1.size();int n = text2.size();vector<vector<int>> dp(m+1, vector<int> (n+1, 0));// if text1[i-1] == text2[j-1], dp[i][j] = dp[i-1][j-1] + 1// else, dp[i][j] = max(dp[i][j-1], dp[i-1][j])for (int i = 0; i <= m; i++) {dp[i][0] = 0;}for (int j = 0; j <= n; j++) {dp[0][j] = 0;}for (int i = 1; i <= m; i++) {for (int j = 1; j <=n; j++) {if (text1[i - 1] == text2[j - 1]) {dp[i][j] = dp[i-1][j-1] + 1;} else {dp[i][j] = max(dp[i-1][j], dp[i][j-1]);}}}return dp[m][n];}
};
http://www.lryc.cn/news/370716.html

相关文章:

  • 短剧APP开发,新的“财富”
  • Uniapp与第三方应用数据通讯
  • AI大模型战场:通用大模型与垂直大模型的角逐
  • linux的一些知识点分享-------关于操作维护的一些知识点
  • Python使用tkinter库设置背景图片、label显示位置和label设置显示图片
  • OpenStack是什么?
  • 2024下《系统规划与管理师》50个高频考点汇总!背就有效
  • 软件游戏提示msvcp140.dll丢失的原因分析及解决方法
  • 备战 清华大学 上机编程考试-冲刺前50%,倒数第3天
  • docker的安装及docker常用命令
  • Dell服务器根据GPU温度调整风扇转速
  • 快捷键专栏 IDEA、Navicat、电脑、Excle、Word等
  • 卸载MySQL5.0,安装MySQL8.0
  • 苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!
  • Linux基础IO【II】
  • DevExpress学习系列文章
  • 在大数据时代:为何硬盘仍是数据中心存储的核心
  • 安装TrinityCore NPCBot(尝试中)
  • Java SE LTS版本商用收费,有那些开源的替代方案?
  • Win系统 锁屏自动暂停音乐
  • ffmpeg实现视频播放 ----------- Javacv
  • 解决更新Android Studio后下载Gradle超时
  • 智能合约漏洞类型
  • 6.7.31 使用端到端训练的基于 EfficientNet 的卷积网络在双视图乳房 X 线摄影中进行乳腺癌诊断
  • 访问方法(反射)
  • 探索Excel的隐藏功能:如何求和以zzz开头的列
  • git:切换到指定的commit
  • js之事件监听以及相关案例
  • pip 安装出现 ERROR: Command errored out with exit status 1: 问题解决
  • 图的遍历介绍