news 2026/7/15 3:01:15

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/7/15 1:09:49

HY-MT1.5政务翻译案例:民族地区公文自动互译系统部署

HY-MT1.5政务翻译案例&#xff1a;民族地区公文自动互译系统部署 随着多民族地区政务信息化建设的不断推进&#xff0c;跨语言公文处理成为提升行政效率的关键环节。在边疆民族地区&#xff0c;政府机构日常需处理大量汉文与少数民族文字&#xff08;如藏语、维吾尔语、蒙古语…

作者头像 李华
网站建设 2026/7/15 0:12:58

HY-MT1.5-1.8B离线翻译方案:无网络环境部署完整指南

HY-MT1.5-1.8B离线翻译方案&#xff1a;无网络环境部署完整指南 1. 引言 随着全球化进程的加速&#xff0c;高质量、低延迟的翻译服务在跨语言交流中变得愈发重要。然而&#xff0c;在许多实际场景中——如野外作业、军事通信、航空航海或隐私敏感行业——设备往往无法接入互联…

作者头像 李华
网站建设 2026/7/15 0:13:08

2026必备!10个AI论文软件,专科生毕业论文写作神器!

2026必备&#xff01;10个AI论文软件&#xff0c;专科生毕业论文写作神器&#xff01; 1.「千笔」—— 一站式学术支持“专家”&#xff0c;从初稿到降重一步到位&#xff08;推荐指数&#xff1a;★★★★★&#xff09; 对于专科生来说&#xff0c;撰写毕业论文常常面临时间紧…

作者头像 李华
网站建设 2026/7/15 0:13:51

HY-MT1.5-7B vs Google Translate实战对比:中文-英文翻译质量评测

HY-MT1.5-7B vs Google Translate实战对比&#xff1a;中文-英文翻译质量评测 在大模型驱动的机器翻译领域&#xff0c;腾讯近期开源了其混元翻译模型1.5版本&#xff08;HY-MT1.5&#xff09;&#xff0c;包含两个关键模型&#xff1a;HY-MT1.5-1.8B 和 HY-MT1.5-7B。这一系列…

作者头像 李华
网站建设 2026/7/15 0:13:08

多模态翻译未来展望:Hunyuan HY-MT1.5技术路线预测

多模态翻译未来展望&#xff1a;Hunyuan HY-MT1.5技术路线预测 随着全球化进程的加速和跨语言交流需求的激增&#xff0c;高质量、低延迟的机器翻译系统已成为AI基础设施的重要组成部分。腾讯混元团队近期开源的Hunyuan HY-MT1.5系列翻译模型&#xff0c;标志着国产大模型在多…

作者头像 李华