首页 > 其他分享 >动态规划之编辑距离

动态规划之编辑距离

时间:2022-12-15 11:01:40浏览次数:37  
标签:删除 int 距离 编辑 word1 word2 动态 替换 dp

编辑距离这道题本质上也是遍历所有问题分支的题目,他有三个选择,插入删除替换

dp[i][j] 这个定义代表 前i个字匹配前j个字符对应的编辑距离

dp[i][j-1] +1 代表 ,在word2后增加一个字符,word1前i个字符转换到word2前j个字符的距离为dp[i][j-1]+1 。这是word2增,

dp[i-1][j]+1 代表 word2 删除

dp[i-1][j-1]+1 替换

/**
* <p>给你两个单词 <code>word1</code> 和 <code>word2</code>, <em>请返回将 <code>word1</code> 转换成 <code>word2</code> 所使用的最少操作数</em>  。</p>
*
* <p>你可以对一个单词进行如下三种操作:</p>
*
* <ul>
* <li>插入一个字符</li>
* <li>删除一个字符</li>
* <li>替换一个字符</li>
* </ul>
*
* <p> </p>
*
* <p><strong>示例 1:</strong></p>
*
* <pre>
* <strong>输入:</strong>word1 = "horse", word2 = "ros"
* <strong>输出:</strong>3
* <strong>解释:</strong>
* horse -> rorse (将 'h' 替换为 'r')
* rorse -> rose (删除 'r')
* rose -> ros (删除 'e')
* </pre>
*
* <p><strong>示例 2:</strong></p>
*
* <pre>
* <strong>输入:</strong>word1 = "intention", word2 = "execution"
* <strong>输出:</strong>5
* <strong>解释:</strong>
* intention -> inention (删除 't')
* inention -> enention (将 'i' 替换为 'e')
* enention -> exention (将 'n' 替换为 'x')
* exention -> exection (将 'n' 替换为 'c')
* exection -> execution (插入 'u')
* </pre>
*
* <p> </p>
*
* <p><strong>提示:</strong></p>
*
* <ul>
* <li><code>0 <= word1.length, word2.length <= 500</code></li>
* <li><code>word1</code> 和 <code>word2</code> 由小写英文字母组成</li>
* </ul>
* <div><div>Related Topics</div><div><li>字符串</li><li>动态规划</li></div></div><br><div><li>

标签:删除,int,距离,编辑,word1,word2,动态,替换,dp
From: https://blog.51cto.com/u_12550160/5938891

相关文章

  • vue组件回调自己,完成动态渲染
    最近改同事留下来的bug,可能当时后端也没完全实现需求~属于双向不上心哈哈哈~上原型,通讯录选择,如下图:部门是下面有部门,下拉部门查询部门下挂的员工、进行选择第一个想到......
  • 动态规划之背包问题(二)
    接下来我们分析完全背包和01背包的区别,完全背包的内循环是顺序的,而01背包是逆序的。现在关键的是考虑:为何完全背包可以这么写?在次我们先来回忆下,01......
  • 动态代理
    java动态代理的使用,不在使用真实的对象调用方法,而是使用代理定义一个sell接口publicinterfaceSell{voidsell();voidadd();}实现这个接口publicclass......
  • java中的动态绑定机制
    本文主要讲述java中的动态绑定机制。老韩ppt关于动态绑定机制:示例代码如下:publicclassDynamicBinding{publicstaticvoidmain(String[]args){A......
  • ASP.NET Core 奇淫技巧之动态WebApi
    一.前言接触到动态WebApi(DynamicWebAPI)这个词的已有几年,是从ABP框架里面接触到的,当时便对ABP的这个技术很好奇,后面分析了一波,也尝试过从ABP剥离一个出来作为独立组件来使......
  • 欢迎使用CSDN-markdown编辑器
    欢迎使用Markdown编辑器写博客本Markdown编辑器使用​​StackEdit​​修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片......
  • 静态包含和动态包含的区别
    静态包含  vs  动态包含的区别?1)语法不同静态包含语法:<%@incluefile="被包含的页面"%>动态包含语法:<jsp:includepage="被包含的页面">2)参数传递不同......
  • 结合Spring Cloud Bus实现配置动态刷新
    在上一节中我们学习了在SpringCloud微服务系统架构中使用ConfigServer进行本地仓库配置读取和线上环境的远程仓库git配置读取,让我们在多个微服务下也可以进行配置信息的......
  • gateway动态路由实现 mysql+redis 实现
    前言大家都知道咱们在通常是使用配置文件来实现配置,但是这样就有一个弊端,就是每次修改的时候都要去重启来实现,并且管理起来非常麻烦,所有就有了这种实现方式。现在的实现方式......
  • Zookeeper 实现分布式配置管理实现 @Value 的动态变化 (二)
      概述:  前一篇 zookeeper 实现了的配置管理,但是最后的时候说过没有实现@Value 的动态变化,也就是说没有实现配置文件的动态变化, 今天在昨天的基础上,实现了配置......