news 2026/4/3 2:47:08

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/2/26 10:09:15

HY-MT1.5-1.8B能耗比实测:边缘AI设备最佳适配模型

HY-MT1.5-1.8B能耗比实测&#xff1a;边缘AI设备最佳适配模型 1. 引言&#xff1a;为何关注边缘端翻译模型的能效平衡&#xff1f; 随着多语言交流需求在智能终端、移动应用和物联网设备中的快速增长&#xff0c;实时翻译能力正逐步从“云端依赖”向“本地化部署”迁移。然而&…

作者头像 李华
网站建设 2026/3/31 16:53:16

HY-MT1.5支持方言翻译?壮语/藏语等民族语言实测报告

HY-MT1.5支持方言翻译&#xff1f;壮语/藏语等民族语言实测报告 近年来&#xff0c;随着多语言交流需求的不断增长&#xff0c;高质量、低延迟的机器翻译模型成为AI应用落地的关键基础设施。特别是在中国这样一个多民族国家&#xff0c;如何实现普通话与少数民族语言之间的精准…

作者头像 李华
网站建设 2026/3/30 7:21:32

HY-MT1.5-7B为何适合WMT场景?高精度翻译部署案例深度解析

HY-MT1.5-7B为何适合WMT场景&#xff1f;高精度翻译部署案例深度解析 在大模型驱动的自然语言处理浪潮中&#xff0c;机器翻译&#xff08;Machine Translation, MT&#xff09;正从通用化向专业化、高精度方向演进。腾讯混元团队推出的 HY-MT1.5 系列翻译模型&#xff0c;凭借…

作者头像 李华
网站建设 2026/3/31 19:54:47

HY-MT1.5-7B部署教程:WMT25优胜模型升级版,GPU高效利用技巧

HY-MT1.5-7B部署教程&#xff1a;WMT25优胜模型升级版&#xff0c;GPU高效利用技巧 1. 引言 随着多语言交流需求的不断增长&#xff0c;高质量、低延迟的机器翻译系统成为智能应用的核心组件。腾讯开源的混元翻译大模型 HY-MT1.5 系列&#xff0c;凭借其在 WMT25&#xff08;W…

作者头像 李华
网站建设 2026/3/21 8:53:58

导师推荐 8款AI论文网站测评:本科生毕业论文必备工具

导师推荐 8款AI论文网站测评&#xff1a;本科生毕业论文必备工具 推荐2&#xff1a;「Grammarly」&#xff08;学术版&#xff09;——英文论文润色标杆&#xff08;推荐指数&#xff1a;★★★★☆&#xff09; "对于有SCI、EI投稿需求的用户&#xff0c;Grammarly&#…

作者头像 李华
网站建设 2026/4/2 12:47:49

HY-MT1.5-1.8B蒸馏技术揭秘:小模型高性能背后原理

HY-MT1.5-1.8B蒸馏技术揭秘&#xff1a;小模型高性能背后原理 近年来&#xff0c;随着大模型在自然语言处理领域的广泛应用&#xff0c;翻译系统的性能不断提升。然而&#xff0c;大模型往往伴随着高昂的推理成本和部署门槛&#xff0c;难以满足边缘设备和实时场景的需求。腾讯…

作者头像 李华