当前位置: 首页 > news >正文

038 编辑距离 动态规划

动态规划超级经典题目,前面题目的综合

72. 编辑距离

中等

相关标签

premium lock icon相关企业

给你两个单词 word1word2请返回将 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
  • word1word2 由小写英文字母组成

class Solution {
public:int minDistance(string word1, string word2) {//dp[i][j] : 以i-1为下标的word1和以j-1为下标的word2 , 使word1转换成word2的最小操作数int s1 = word1.size();int s2 = word2.size();vector<vector<int>> dp(s1+1,vector<int>(s2+1,0));for(int i=0;i<=s1;i++){dp[i][0] = i;  //word2是空串时word1长度是多少就最少进行几次操作}for(int j=0;j<=s2;j++){dp[0][j] = j;   //同理}for(int i=1;i<=s1;i++){for(int j=1;j<=s2;j++){if(word1[i-1]==word2[j-1]){dp[i][j] = dp[i-1][j-1];  //直接继承}else{//分为三种情况,第一种是在word1中增加元素(可以用在word2中删除元素表示),第二种是在word1中删除元素,第三种是替换元素dp[i][j] = min(min(dp[i][j-1]+1,dp[i-1][j]+1),dp[i-1][j-1]+1);}}}return dp[s1][s2];}
};
  • 本题为大厂面试经典题目,必须会
http://www.jsqmd.com/news/667058/

相关文章:

  • 不止于修改器:用Cheat Engine的Lua脚本和D3D Hook给你的单机游戏‘加MOD’
  • 别再只用get()了!Java Stream中filter+findAny的3种安全写法与避坑指南
  • 给实验室萌新的投稿避坑指南:CCF、中科院分区与‘黑名单’期刊全解析
  • 京东抢购工具终极指南:3步实现自动化抢购的完整方案
  • 重塑直播体验:OBS StreamFX 视觉特效插件深度解析
  • 信呼OA后台getshell复盘:从Base64‘障眼法’到绕过设备ID限制的完整攻击链
  • 真正的智能教育常常在AI之外
  • 【GIS】从TFW到GDAL:六参数仿射变换的实战解析与坐标转换
  • 别再为模型部署发愁了!手把手教你用torch.onnx.export把PyTorch模型转成ONNX(附常见报错解决)
  • 3个理由让USB-Disk-Ejector成为你的Windows必备工具
  • Flux.1-Dev深海幻境时序数据创意应用:结合LSTM思想的动态图像生成构想
  • 【AGI时代招聘生存指南】:错过2026奇点大会这4个信号,你的技术团队将在6个月内掉队2个代际
  • Java的var类型推断与局部变量类型在代码简洁性上的权衡
  • 解密微信语音格式:用Python pilk库实现SILK编解码的底层原理
  • 大模型时代:掌握未来,从了解大模型开始!全面掌握AI大模型的系统学习路径
  • org.openpnp.vision.pipeline.stages.ThresholdAdaptive
  • 免费Windows风扇控制软件FanControl:打造静音高效散热系统的终极指南
  • 终极指南:3分钟上手AppImageLauncher,让Linux应用安装像Windows一样简单 [特殊字符]
  • SVGOMG:SVGO缺失的GUI界面,SVG优化技术的现代化解决方案
  • TwinCAT3 ADS路由死活加不上?别慌,这份保姆级排查清单帮你搞定(附Win7/CE系统差异)
  • 别再死记硬背了!用Python+NumPy手把手模拟地震子波合成与分辨率分析
  • AutoGen保姆级教程:5分钟搭建自动编程+调试的AI双代理系统
  • Java的java.util.HexFormat双向支持
  • 5个微观经济学必考公式图解:从边际效用递减到谷贱伤农
  • 别再死记F-22/FB60了!SAP F-02超级凭证的记账码(Posting Key)保姆级使用指南
  • Java虚拟机精讲【1.0】
  • 第四章——从涡面到升力:不可压缩绕翼流动的理论构建与应用
  • 当AGI从医疗迁移到金融却崩溃时:3个反直觉的梯度冲突信号,90%工程师第2步就误判
  • 从Log4j2到任意文件上传:一次完整的致远OA V8.0漏洞实战复现与深度分析
  • 华为交换机端口OID索引值查询与网络监控实战