首页 > 其他分享 >72. 编辑距离

72. 编辑距离

时间:2023-06-07 13:35:47浏览次数:41  
标签:字符 int 距离 编辑 len1 word1 72 word2 rorse

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

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

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


示例 1:

输入:word1 = "horse", word2 = "ros"
输出:3
解释:
horse -> rorse (将 'h' 替换为 'r')
rorse -> rose (删除 'r')
rose -> ros (删除 'e')

> 动态规划


class Solution {
public:
    int minDistance(string word1, string word2) {
        int len1 = word1.size();
        int len2 = word2.size();
        vector<vector<int>> dp(len2 + 1, vector<int>(len1 + 1, 0));
        for (int i = 0; i <= len2; i++) dp[i][0] = i;
        for (int i = 0; i <= len1; i++) dp[0][i] = i;

        for (int i = 1; i <= len2; i++) {
            for (int j = 1; j <= len1; j++) {
                if (word2[i - 1] == word1[j - 1]) {
                    dp[i][j] = dp[i - 1][j - 1];
                }
                else {
                    dp[i][j] = min({dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]}) + 1;
                }
                /*cout << i << j << dp[i][j] << endl;*/
            }
        }
        return dp[len2][len1];
    }
};

标签:字符,int,距离,编辑,len1,word1,72,word2,rorse
From: https://www.cnblogs.com/lihaoxiang/p/17463053.html

相关文章

  • Stanford NLP第三课“最小编辑距离(Minimum Edit Distance)”
    一、课程介绍斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛DanJurafsky和ChirsManning教授授课:链接地址以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展、注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习。课件汇总下载......
  • TLE7244SL-ASEMI代理英飞原装汽车芯片TLE7244SL
    编辑:llTLE7244SL-ASEMI代理英飞原装汽车芯片TLE7244SL型号:TLE7244SL品牌:Infineon(英飞凌)封装:SSOP-24-150mil类型:电源负载开关TLE7244SL特性4个输入引脚,提供灵活的PWM配置由专用引脚提供跛行回家功能(直接驾驶)用于诊断和控制的16位SPI菊花链功能也与8位SPI设备兼容数字电源电压范围......
  • TLE7244SL-ASEMI代理英飞原装汽车芯片TLE7244SL
    编辑:llTLE7244SL-ASEMI代理英飞原装汽车芯片TLE7244SL型号:TLE7244SL品牌:Infineon(英飞凌)封装:SSOP-24-150mil类型:电源负载开关TLE7244SL特性4个输入引脚,提供灵活的PWM配置由专用引脚提供跛行回家功能(直接驾驶)用于诊断和控制的16位SPI菊花链功能也与8位SPI设备兼容数字......
  • 直播系统搭建,编辑下拉框、日期时,会层级不够有遮蒙层问题
    直播系统搭建,编辑下拉框、日期时,会层级不够有遮蒙层问题加样式代码如下(示例):  下拉框的样式: .vxe-select--panel{  z-index:9997!important; }​日期的样式: .vxe-input--panel.type--date,.vxe-input--panel.type--month,.vxe-input--panel.type--week,.vx......
  • 网络编辑中的著作权问题
     本法所称的作品,包括以下列形式创作的文学、艺术和自然科学、社会科学、工程技术等作品:(一)文字作品;(二)口述作品;(三)音乐、戏剧、曲艺、舞蹈作品;(四)美术、摄影作品;(五)电影、电视、录像作品;(六)工程设计、产品设计图纸及其说明;(七)地图、示意图等图形食品;(八)计算机软件;(九)法律、行政法规规定的其......
  • 导航栏拖拽编辑实现
    需要实现的效果1、编辑库内拖拽到导航栏完成替换2、导航栏内拖动完成替换先看下实现后的效果图思路分析底部横栏是系统的导航栏,上面一部分数window添加的一个view,由此可知,两者不属于同一个视图层级,从上面移动拖拽到导航栏替换参考上一篇两个列表间实现拖拽编辑来实现......
  • #聊一聊WuKong编辑器#
    对于文档编辑器这个平民工具,你或许有很多熟知的编辑器菜单或操作,但是WuKong编辑器绝对不是平凡之辈,它代表了另一种思维方式和编辑器风格,一款拥有“智慧”的编辑器。WuKong编辑器在保留传统文本编辑器的基础上,增加了很多新奇特别的功能,例如模板多样化、语法高亮显示、富文本编辑等,可......
  • Visual Studio Code mac好用的微软免费代码编辑器
    VisualStudioCode是微软官方的编码工具,被称为"代码编辑器",支持众多的编程语言,包括C、C++、Python等。但是它仅支持文本编辑功能,所以一般使用它来完成一些简单的编程。但VisualStudioCode的功能并不只限于文本编辑,它还提供了很多其他功能。VisualStudioCode易于使用,它易......
  • React学习时,自己拟定的一则小案例(table表格组件,含编辑)
    某次在Uniapp群看到有人问uniapp如何操作dom元素。他想对这张表标红的区域,做dom元素获取,因为产品想让红色色块点击时,成为可编辑,渲染1~4月份之间的行程安排。于是,有小伙伴说让他用position定位这里,点击时使红色色块层级抬高,弄个input上去。但提问的小伙伴并没有决定这么做,随后......
  • PyInstaller 完美打包 Python 脚本,输出结构清晰、便于二次编辑的打包程序
    引入问题如果我要写一个Python项目,打包成exe运行(方便在没有Python的电脑上使用),我需要打包出的根目录结构美观,没有多余的、杂乱的依赖文件在那里碍眼,而且需要在发现bug时,我还需要能够修改里面的代码后,无需再次打包,就能正常运行,该怎么做呢?就以一个Hello项目为例,记一下我......