news 2026/5/1 8:12:03

LeetCode热题100--72. 编辑距离--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--72. 编辑距离--中等

题目

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。

你可以对一个单词进行如下三种操作:

插入一个字符
删除一个字符
替换一个字符

示例 1:
输入:word1 = “horse”, word2 = “ros”
输出:3
解释:
horse -> rorse (将 ‘h’ 替换为 ‘r’)
rorse -> rose (删除 ‘r’)
rose -> ros (删除 ‘e’)

示例 2:
输入:word1 = “intention”, word2 = “execution”
输出:5
解释:
intention -> inention (删除 ‘t’)
inention -> enention (将 ‘i’ 替换为 ‘e’)
enention -> exention (将 ‘n’ 替换为 ‘x’)
exention -> exection (将 ‘n’ 替换为 ‘c’)
exection -> execution (插入 ‘u’)

题解

classSolution{publicintminDistance(Stringword1,Stringword2){intn1=word1.length();intn2=word2.length();int[][]dp=newint[n1+1][n2+1];// 第一行for(intj=1;j<=n2;j++)dp[0][j]=dp[0][j-1]+1;// 第一列for(inti=1;i<=n1;i++)dp[i][0]=dp[i-1][0]+1;for(inti=1;i<=n1;i++){for(intj=1;j<=n2;j++){if(word1.charAt(i-1)==word2.charAt(j-1))dp[i][j]=dp[i-1][j-1];elsedp[i][j]=Math.min(Math.min(dp[i-1][j-1],dp[i][j-1]),dp[i-1][j])+1;}}returndp[n1][n2];}}

解析

出自:自底向上和自顶向下

classSolution{publicintminDistance(Stringword1,Stringword2){// 获取 word1 的长度,记为 n1intn1=word1.length();// 获取 word2 的长度,记为 n2intn2=word2.length();// 创建二维 DP 表 dp,大小为 (n1+1) x (n2+1)// dp[i][j] 表示将 word1 的前 i 个字符转换为 word2 的前 j 个字符所需的最小操作数int[][]dp=newint[n1+1][n2+1];// 初始化第一行:dp[0][j] 表示将空字符串 "" 转换为 word2 的前 j 个字符// 只能通过连续插入 j 次实现,所以 dp[0][j] = jfor(intj=1;j<=n2;j++)dp[0][j]=dp[0][j-1]+1;// 初始化第一列:dp[i][0] 表示将 word1 的前 i 个字符转换为空字符串 ""// 只能通过连续删除 i 次实现,所以 dp[i][0] = ifor(inti=1;i<=n1;i++)dp[i][0]=dp[i-1][0]+1;// 填充 DP 表的其余部分(从 i=1 到 n1,j=1 到 n2)for(inti=1;i<=n1;i++){for(intj=1;j<=n2;j++){// 如果当前字符相同(word1[i-1] == word2[j-1]),则不需要操作,// 直接继承左上角的值:dp[i][j] = dp[i-1][j-1]if(word1.charAt(i-1)==word2.charAt(j-1))dp[i][j]=dp[i-1][j-1];else// 如果字符不同,则考虑三种操作中的最小代价:// 1. 替换:dp[i-1][j-1] + 1 (把 word1[i-1] 改成 word2[j-1])// 2. 插入:dp[i][j-1] + 1 (在 word1 后插入 word2[j-1])// 3. 删除:dp[i-1][j] + 1 (删除 word1[i-1])// 取三者最小值,并加 1(表示执行一次操作)dp[i][j]=Math.min(Math.min(dp[i-1][j-1],// 替换dp[i][j-1]),// 插入dp[i-1][j]// 删除)+1;}}// 返回最终结果:将整个 word1 转换为整个 word2 所需的最小操作数returndp[n1][n2];}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:53:17

HY-MT1.5-7B翻译延迟高?上下文缓存优化部署实战指南

HY-MT1.5-7B翻译延迟高&#xff1f;上下文缓存优化部署实战指南 在大模型驱动的多语言应用日益普及的今天&#xff0c;翻译模型的实时性与准确性成为决定用户体验的关键因素。腾讯开源的混元翻译大模型 HY-MT1.5 系列&#xff0c;凭借其对 33 种语言及多种民族语言变体的强大支…

作者头像 李华
网站建设 2026/4/27 10:39:57

HY-MT1.5-1.8B性能为何媲美大模型?轻量级部署实战分析

HY-MT1.5-1.8B性能为何媲美大模型&#xff1f;轻量级部署实战分析 近年来&#xff0c;随着多语言交流需求的激增&#xff0c;高质量、低延迟的翻译模型成为AI应用落地的关键。在这一背景下&#xff0c;腾讯开源了混元翻译大模型1.5版本&#xff08;HY-MT1.5&#xff09;&#…

作者头像 李华
网站建设 2026/5/1 6:52:24

4.三目运算符逆向特征

文章目录一、先别急着下结论&#xff1a;从源码对着汇编看整体轮廓二、顺着 CPU 的执行路径&#xff0c;一步一步“走”这个三目1️⃣ 第一步&#xff1a;条件是怎么被算出来的&#xff1f;2️⃣ then / else 分支&#xff1a;三目真正“分叉”的地方3️⃣ 合并点&#xff1a;三…

作者头像 李华
网站建设 2026/5/1 7:55:32

HY-MT1.5-7B部署教程:WMT25冠军升级版GPU算力配置详解

HY-MT1.5-7B部署教程&#xff1a;WMT25冠军升级版GPU算力配置详解 1. 引言 随着多语言交流需求的不断增长&#xff0c;高质量、低延迟的机器翻译系统成为AI应用落地的关键环节。腾讯近期开源了其混元翻译大模型1.5版本&#xff08;HY-MT1.5&#xff09;&#xff0c;包含两个核…

作者头像 李华
网站建设 2026/4/20 22:47:59

HY-MT1.5翻译延迟高?实时推理性能调优部署实战解决方案

HY-MT1.5翻译延迟高&#xff1f;实时推理性能调优部署实战解决方案 在多语言交流日益频繁的今天&#xff0c;高质量、低延迟的机器翻译模型成为智能应用的核心组件。腾讯开源的混元翻译大模型 HY-MT1.5 系列&#xff0c;凭借其卓越的语言覆盖能力和翻译质量&#xff0c;迅速在…

作者头像 李华
网站建设 2026/4/30 23:04:16

HY-MT1.5一键部署体验:网页推理访问,新手入门必看教程

HY-MT1.5一键部署体验&#xff1a;网页推理访问&#xff0c;新手入门必看教程 随着多语言交流需求的不断增长&#xff0c;高质量、低延迟的翻译模型成为AI应用中的关键组件。腾讯近期开源了其最新的混元翻译大模型HY-MT1.5系列&#xff0c;包含两个版本&#xff1a;HY-MT1.5-1…

作者头像 李华