【动态规划-困难】72. 编辑距离

经典动态规划:编辑距离 点击关注上方“五分钟学算法”, 设为“置顶或星标”,第一时间送达干货。 转自面向大象编程 本期例题:LeetCode 72. Edit Distance 编辑距离(Hard) 给定字符串 s 和 t,将 s 转换成 t。你可以进行三种操作:插入一个字符、删除一个字符、替换一个字符。计算将 s 将转换成 t 的最小操作数。 示例... 阅读详情

【题目】
给你两个单词 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’)

提示:

0 <= word1.length, word2.length <= 500
word1 和 word2 由小写英文字母组成

【代码】

在这里插入图片描述在这里插入图片描述

class Solution:
    def minDistance(self, word1: str, word2: str) -> int:
        dp=[[0 for j in range(len(word2)+1)] for i in range(len(word1)+1)]
        for i in range(len(word2)+1):
            dp[0][i]=i        
        for i in range(len(word1)+1):
            dp[i][0]=i
        for i in range(1,len(word1)+1):
            for j in range(1,len(word2)+1):
                if word1[i-1]==word2[j-1]:
                    dp[i][j]=dp[i-1][j-1]
                else:
                    dp[i][j]=min(dp[i-1][j-1],min(dp[i][j-1],dp[i-1][j]))+1
        return dp[-1][-1]
如何构建一个 AI 驱动的数据分析系统 在现代数据分析中,将 AI 引入数据分析系统中可以极大提升效率和自动化程度。本文将从架构设计、工具选择、实现步骤等多个方面进行详细说明,帮助你构建一个 AI 驱动的数据分析系统。 阅读详情

相关推荐

STM32串口DMA双缓冲机制实战:提升数据传输效率的终极方案

本文深入解析了STM32串口DMA双缓冲机制的核心原理与实战配置。通过对比传统中断方式,阐述了双缓冲如何实现数据接收与处理的“无缝接力”,从而在工业传感器数据采集等高负载场景下,将CPU占用率降至极低水平并彻底避免数据丢失。文章提供了基于标准外设库的详细配置步骤、中断处理逻辑及性能实测数据,是提升嵌入式系统串口通信效率和可靠性的终极方案。

weixin_29192365的博客 80

leetcode 72. 编辑距离 困难 动态规划

题目 分析:一道经典的动态规划的题目。先来分析题目,对单词进行编辑操作,可以发现单词变短有助于求解,单词变短也就是子问题,那么接下来怎么做呢?可以逐一比较单词1前i个字母与单词2前j个字母之间的编辑距离,用一个二维数组进行记录,求本问题的时候等于子问题的最优解+1 可以得出递推式子 代码 class Solution { public int minDistance(String wo...

weixin_40208575的博客 255

汽水音乐自动化薅羊毛教程:从零搭建稳定赚钱脚本

📖 前言:为什么要学习自动化脚本?在数字时代,时间就是金钱。汽水音乐等App通过观看广告奖励用户金币的模式,本质上是将我们的时间转化为收益。本教程将教你如何用Python自动化这个过程,让程序为你"打工",实现被动收入。通过本教程,你将学到:移动端自动化测试的核心技术Python在自动化领域的实际应用如何将重复性任务转化为自动化流程创造属于自己的"数字员工"第一章:环境准备与基础配置1.1 硬件要求Android手机一部(建议使用备用机)USB数据线。

weixin_44947827的博客 5819

Leetcode 72. 编辑距离(困难) 动态规划

题目描述: 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros" 输出:3 解释: horse -> rorse (将 'h' 替换为 'r')...

Perrysky的博客 266

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1117

在F1C100s上跑GBA游戏:手把手教你用Buildroot配置SDL和移植gpsp模拟器

本文详细介绍了在全志F1C100s开发板上配置Buildroot、移植SDL库和gpsp模拟器的完整流程,帮助开发者实现在ARM9平台上流畅运行GBA游戏。内容涵盖环境配置、交叉编译、常见问题解决及性能优化技巧,特别针对'段错误'和'无声音'等典型问题提供实用解决方案。

weixin_42566424的博客 398

72编辑距离(动态规划法——困难)

1、题目描述 给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 2、示例 输入:word1 = "horse", word2 = "ros" 输出:3 解释: horse -> rorse (将 'h' 替换为 'r') rorse ->...

Revendell的博客 208

Clawdbot安装教程:从零开始到接入飞书

这几天,Clawdbot把整个科技圈都刷屏了。就是这个胖逼小龙虾🦞。不过现在改名叫Moltbot了。原因很简单:被Anthropic告了。Anthropic觉得Clawdbot这名字太像Claude Code的延伸产品,要求改名。真的,Anthropic你这家伙…更离谱的是,因为Clawdbot太火,Mac Mini都被抢断货了。无数人为了用它,疯狂买Mac Mini。我刚打开美团外卖,发现居然没货了???

Maynor的博客 2179

[LeetCode 困难 动态规划]72. 编辑距离

题目描述 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入:word1 = “horse”, word2 = “ros” 输出:3 解释: horse -> rorse (将 ‘h’ 替换为 ‘r’) rorse -> rose (删除 ‘r’) rose -> ros (删除 ‘e’) 示例 2: 输入:word1 = “inten

weixin_50088096的博客 98

华为OD机考双机位C卷 - 敌情监控 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 敌情监控 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 965

西门子 S7-1200 G2 高速计数器的使用方法介绍

西门子 S7-1200 G2 高速计数器的使用方法介绍

Robot_PLC_HMI_Automation 1708

【LeetCode】72. 编辑距离(动态规划--困难)

72. Edit Distance 题目链接 思路: dp[i][j] 代表 word1 到 i 位置转换成 word2 到 j 位置需要最少步数。 如果两个子串的最后一个字母相同,word1[i] = word2[j] 的情况下: D[i][j] = D[i - 1][j - 1] 否则,word1[i] != word2[j] 我们将考虑替换最后一个字符使得他们相同: D[i][j]=1+...

醉酒诗人的博客 210

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LeetCode_动态规划_困难_72.编辑距离

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

代码星辰的博客 473

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

⭐算法入门⭐《动态规划 - 串匹配》困难02 —— LeetCode 72. 编辑距离

《动态规划 - 串匹配》困难02 —— LeetCode 72. 编辑距离

英雄哪里出来 2356

每天一道leetcode:72. 编辑距离(动态规划&困难)

今日份题目:72. 编辑距离(动态规划&困难) 欢迎大家来讨论!

qq_63349644的博客 410

LeetCode-72、编辑距离-困难

LeetCode-72、编辑距离-困难 给定两个单词word1 和word2,计算出将word1转换成word2 所使用的最少操作数。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例1: 输入: word1 = "horse", word2 = "ros" 输出: 3 解释: horse -> rorse (将 'h' 替换...

clover_my的博客 1191

LeetCode 每日一题 72. 编辑距离 动态规划 C++描述

LeetCode 每日一题 72. 编辑距离 大家好,我叫亓官劼(qí guān jié ),三本计算机在读,目前在积极准备21计算机考研中,同时也在学习后端开发,准备工作。不敢孤注一掷,因为要留条后路;不求两全其美在,因为那需要运气+机遇;只求学有所得,慢慢成长。优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~ 2020.04.06 每日一题 难度 困难 题目 给你两个单词 word...

一起加油 6170

LeetCode 72. 编辑距离 动态规划详解

通过动态规划的思想,我们能够高效地解决编辑距离问题。通过合理定义dp数组的含义,状态转移方程,以及对初始状态的处理,可以解决类似的字符串转换问题。

Lentr0py的博客 1134

LeetCode第72题_编辑距离

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

qq_40263592的博客 1291

困难-LeetCode 72. 编辑距离

题目 来源:编辑距离 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 解题思路及代码 1. 思路 第一次做困难题,果然毫无思路,,, 采用动态规划来解决。创建二维dp数组,dp[i][j]表示从word1到第i个位置转换成到word2到第j个位置的编辑距离。对于每对字符s1[i] 和 s2[j],有四种操作,若s1[i] = s2[j],直接跳过,不进行操作,

weixin_43912756的博客 254

Day48 | 动态规划 :线性DP 编辑距离

本次题解参考自灵神的做法,大家也多多支持灵神的题解1.思考回溯法(深度优先遍历)怎么写注意要画树形结构图2.转成记忆化搜索看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算3.把记忆化搜索翻译成动态规划基本就是1:1转换。

m0_74795952的博客 1282

leetcode题:72. 编辑距离(困难)

一、题目描述:72. 编辑距离(困难) 给定两个单词word1 和word2,计算出将word1转换成word2 所使用的最少操作数。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例1: 输入: word1 = "horse", word2 = "ros" 输出: 3 解释: horse -> rorse (将 'h' 替换为 '...

tankpanv的博客 222

LeetCode第72题:编辑距离(困难)

LeetCode第72题:编辑距离(困难) 题目:给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符、删除一个字符、替换一个字符 思路一:①开始想一位一位的进行对比,进行操作。但是很简单就能举出想法不合理的例子。②后来又想每个字母搜一下所在的位置,选取合适的位置,其他没定下来的地方就是需要...

new_whiter的博客 261

LeetCode72. 编辑距离—字符串类动态规划

✟升天✟

CS_boy的博客 1077

*LeetCode 72 编辑距离(困难)

大苏打

嗷嗷嗷嗷的博客 149
上一篇: 【动态规划-中等】1143. 最长公共子序列(谷歌等大厂最常见的面试题之一、二维动态规划)
下一篇: 【动态规划-简单】剑指 Offer II 088. 爬楼梯的最少成本
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值