72. Edit Distance

2023-11-16

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)

You have the following 3 operations permitted on a word:

a) Insert a character
b) Delete a character
c) Replace a character

此类型的题目属于动态规划;
建立一个二维数组,对于dp[i][j],表示word1第i个元素匹配word2第j个元素所需要删除,插入,修改的次数;
如果word1[i] == word2[j],则表示两个字符是相同的,则dp[i][j] = dp[i-1][j-1];
如果word1[i] != word2[j],则表示两个字符是不相同的,则dp[i][j] = min( dp[i-1][j] + 1, min( dp[i][j-1] + 1, dp[i - 1][j - 1]));

int minDistance(string word1, string word2) {
    int m = word1.size(), n = word2.size();
    vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));
    for (int i = 1; i <= m; i++)dp[i][0] = i;
    for (int j = 1; j <= n; j++)dp[0][j] = j;
    for (int i = 1; i <= m; i++){
        for (int j = 1; j <= n; j++){
            if (word1[i - 1] == word2[j - 1])dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j] + 1, dp[i][j - 1] + 1));
            else dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1;
        }
    }
    return dp[m][n];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

72. Edit Distance 的相关文章

  • linux ssh如何设置登陆超时与不超时方法

    通过ssh登录linux服务器 如果一段时间不操作的话 就会超时断开连接 下面讲一下linux ssh登陆不超时设置 ssh登陆不超时设置 修改 etc ssh sshd config为 ClientAliveInterval 60 Cli

随机推荐

  • 虚拟服务器不好用,哪些网站不能使用虚拟主机

    哪些网站不能用虚拟空间或者虚拟主机呢 为何呢 今天我们来看看不适合使用虚拟主机的几类网站 和云服务器 独立主机相比 虚拟主机几乎没有技术门槛 操作简单 更易上手 不过由于价格便宜 配置偏低 也存在一定的局限性 并非任何类型的网站都适合使用
  • SCI 美国《科学引文索引》(Science Citation Index, 简称 SCI )

    科学引文索引 编辑锁定同义词SCI 科学引文索引 一般指科学引文索引 美国 科学引文索引 Science Citation Index 简称 SCI 于1957 年由 美国科学信息研究所 Institute for Scientific I
  • 当学生的两门课成绩分别为X,Y,按下面要求分类输出学生的成绩评定。 (C语言)

    要求 1 如果两门都大于等于90 则输出优秀 2 如果两门都大于等于80 则输出良好 3 如果两门都大于等于60 则输出合格 4 如果有一门不合格 则输出不合格 5 如果两门都不合格 则输出很差 分析 假设成绩的范围是0 100 所以要先判
  • 史上最全的最通俗易懂的-jmeter调试错误全集

    一 前言 在使用jmeter做接口测试的过程中大家是不是经常会遇到很多问题 但是无从下手 不知道从哪里开始找起 对于初学者而言这是一个非常头痛的事情 这里结合笔者的经验 总结出以下方法 二 通过查看运行日志调试问题 写好脚本后 可以先试着运
  • 原码、反码、补码的讲解

    本文主要介绍原码 反码 补码的计算方法以及意义 阅读此文需要知道十进制与二进制的转换法则 需要的可看此文 待补充 一 原码 反码 补码存在的意义 首先要知道的是 1 整型的数据在内存中都以补码的形式进行存储 目的是便于进行运算等操作 2 正
  • 网页连接数据库,一个简单的登入界面以及实现登入功能

    基于V 的ASP NET MVC 4 web 网站程序开发 接着上篇继续 上篇地址为https blog csdn net weixin 42534390 article details 86576537 我们首先要有一个认知 就是ASP
  • 反思自己问题分享

    学习上出现的问题 一直在学习却忘了放慢脚步 导致学的太快 不扎实 JavaSE浅部知识确实很简单 如果去深度刨析里面更深一层知识后会花很长时间 现在我们掌握的 SE 知识点只能算是会用 学过后没有过多去实践 找各种借口翻篇 如 观看学习视频
  • 计算广告读书笔记

    计算广告 广告主 媒体 用户 用户画像 ROI 进化 合约广告 多个合约在线分配问题 gt 竞价广告 交易终端TD 广告网络ADN gt 实时竞价RTB 广告交易平台ADX 需求方平台DSP 品牌广告 效果广告 点击率CTR 点击价值 到达
  • livecd简介

    LiveOS image Fedora Project Wiki Fedora Workstation Live iso mount EFI image isolinux LiveOS squashfs img mount LiveOS r
  • 三种常用的朴素贝叶斯实现算法——高斯朴素贝叶斯、伯努利朴素贝叶斯、多项式朴素贝叶斯

    在sklearn中 提供了若干种朴素贝叶斯的实现算法 不同的朴素贝叶斯算法 主要是对P xi y 的分布假设不同 进而采用不同的参数估计方式 我们能够发现 朴素贝叶斯算法 主要就是计算P xi y 一旦P xi y 确定 最终属于每个类别的
  • 入门解决迷宫问题和算法DFS(递归+回溯)(C语言)

    代码中用for语句代用了下面的4个if语句 include
  • c 语言 多实例测试

    题目描述 求n个整数的和 输入 输入第一行是一个整数T 表示有T组测试实例 每组输入包括两行 第一行一个数n表示接下来会有n个整数 第二行空格隔开的n个数 输出 对于每组输入 在一行输出n个数的和 保证和不会超出int类型的范围 样例输入
  • Vue项目中的富文本插件表格、字号相关问题

    vue quill editor字号自定义 在近日开发项目过程中需要用到富文本 不过样式和工具栏需要按照需求来自定义 我首先想到的是用vue quill editor 不过vue quill editor的字号是以large small这类
  • FileInputFormat详解

    转载 http blog csdn net hellozpc article details 45771933 https my oschina net leejun2005 blog 133424 1 概述 我们在设置MapReduce输
  • ThinkPhp5.1快速创建模块

    快速生成模块 生成一个test模块的指令如下 gt php think build module test 表示自动生成test模块 自动生成的模块目录包含了config controller model和view目录以及common ph
  • 【内存泄漏】- 4. 使用python的gc+pyrasite模块检测python内存泄漏

    Python内存泄漏测试 1 Python内存泄漏处理机制 为了解决内存泄漏的问题 Python2 0的版本开始引入 引用计数 并基于引用计数实现了自动垃圾收集 后来为了解决循环引用导致内存泄漏的问题 又引入 标记 清除 分代回收 机制 P
  • Java实现图片上传

    使用 IDEA 软件 实现文件上传 结合JSP form表单及Servlet 实现文件上传 一 JSP界面 HTML界面 配置 实现文件上传需要配置form表单 基本设置 其中固定两个值是 提交方式只能为post enctype是固定的
  • 瑞萨电子TPS-1教学-第一讲TPS-1 PROFINET Demo Board概述 视频

    瑞萨电子TPS 1教学 第一讲TPS 1 PROFINET Demo Board概述 Renesas
  • 【深度好文】企业数字化转型的核心要素及能力架构分析

    数字化转型究竟是什么 首先我们还是摘录下百度词条上对数字化转型的一个简单说明如下 数字化转型是建立在数字化转换和数字化升级基础上 进一步触及公司核心业务 以新建一种商业模式为目标的高层次转型 数字化转型是开发数字化技术及支持能力以新建一个富
  • 72. Edit Distance

    Given two words word1 and word2 find the minimum number of steps required to convert word1 to word2 each operation is co