news 2026/10/15 17:44:07

最长公共子序列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
最长公共子序列

题目链接

1143. 最长公共子序列 - 力扣(LeetCode)

思路:

1. 首先了解到题目所说的子序列指的是,只要顺序能对的上,就算子序列

2. 我们考虑到本题,适合使用 dp 动态规划思想去做,对于 text1 text2 俩个字符串,我们模拟取最大值, dp[i][j] 数组 代表了 text[i-1] 和 text[j-1] 当前元素字符串所能得到的 最大子序列的结果值,那么我们需要特殊考虑 当 dp[0][j] dp[i][0] 的元素,这些都需要赋初值为0,

2. dp[i][j] 会出现俩种情况,text1[i-1] 等于 text2[j-1] 或者不相等,首先我们看相等的情况,相等的话 dp[i][j] 应该是等于 dp[i-1][j-1]+1 等于在不包含本次相等情况的字符时,所得到的最大值 +1

text1[i-1] 和 text2[j-1] 不相等的情况那就是,需要比较,在 不取text1当前位置 i-1 的情况,以及 不取 text2 当前位置 j-1 的情况,俩个之中的最大值。就能得到当前位置的结果,简单说就是,不包含 当前位置 i 的字符元素 或者 当前位置 j 的字符元素

代码:

/** * @param {string} text1 * @param {string} text2 * @return {number} */ var longestCommonSubsequence = function (text1, text2) { let dp = new Array(text1.length + 10).fill(0).map(item => new Array(text2.length + 10).fill(0)) for (let i = 0; i <= text1.length; i++) { for (let j = 0; j <= text2.length; j++) { if (i == 0 || j == 0) { dp[i][j] = 0 continue } if (text1[i - 1] === text2[j - 1]) { dp[i][j] = dp[i - 1][j - 1] + 1 } else dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]) } } return dp[text1.length][text2.length] };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 0:14:26

ChatGPT 说:如何看待各大APP禁止豆包手机登录?

最近&#xff0c;豆包手机的事件成为了技术圈和消费者圈的热议话题。作为一款带有 AI 助手的创新手机&#xff0c;豆包手机在发布后的短短几天内便因其 独特的功能 和 技术创新 引起了广泛关注。但随着 微信、淘宝 等主流应用纷纷禁止其登录&#xff0c;事件的发展逐渐进入了一…

作者头像 李华
网站建设 2026/10/15 0:40:41

MCU 锁步(Lockstep)

目录 一、什么是Lockstep 二、锁步核&#xff08;Lockstep Core&#xff09; 三、MCU锁步的主要类型 3.1 完全锁步&#xff08;Full Lockstep&#xff09; 3.2 分时锁步&#xff08;Delayed Lockstep&#xff09; 四、图例 一、什么是Lockstep Lockstep直译为“紧密步调…

作者头像 李华
网站建设 2026/10/15 1:19:10

CentOS 编译安装 Redis 6.2.1 并部署多实例(单服务器)

一、前言本文基于 CentOS 系统&#xff0c;完整记录 Redis 6.2.1 手动编译安装过程&#xff08;解决 jemalloc 编译报错&#xff09;&#xff0c;并实现单服务器部署两个独立 Redis 实例&#xff08;6379/6380&#xff09;&#xff0c;无需创建多个 Linux 系统&#xff0c;核心…

作者头像 李华
网站建设 2026/10/15 5:58:41

图像生成的新拐点:谷歌Nano Banana Pro的四大革命性突破与战略价值

谷歌的最新图像生成模型 Nano Banana Pro (NBP) 的发布&#xff0c;标志着 AI 图像生成技术正式跨越了从“创造艺术”到“创造实用价值”的门槛。它不仅仅是一个出图工具&#xff0c;更是谷歌在 AI 时代对效率、专业控制和生态整合发起的一次战略性挑战。 我们将从四个核心维度…

作者头像 李华
网站建设 2026/10/15 8:52:50

Docker容器化实践:从开发到生产的完整流程

前言 "在我电脑上能跑啊&#xff01;"这句话曾经是我们团队的口头禅。环境不一致导致的问题层出不穷&#xff0c;直到我们引入了Docker。 这篇文章分享我们的Docker实践经验。 一、为什么选择Docker&#xff1f; 1.1 传统部署的痛点 bash # 开发环境 Python 3.8 …

作者头像 李华