步骤一、确定状态:

确定dp数组及下标含义 dp[i][j]表示的是word1[:i]和word2[:j]相同所需要的最小步数。

步骤二、推断状态方程:

确定动态转移方程,依然是分相等和不相等。 word1[i-1]==word2[j-1]: 当前字符相等,那么直接不用动,步数就是各自退一步的步数 dp[i][j]=dp[i-1][j-1]

word1[i-1] != word2[j-1]:
当前字符不相等, 那么要么word1删除当前字符,要么word2删除当前字符, 那么最小步数就是min(dp[i-1][j], dp[i][j-1])+1。

步骤三、规定初始条件:

初始条件:

全局初始化为0,而第一行和第一列需要初始化

步骤四、计算顺序:

dp数组从[1,1]位置遍历,外层遍历word1, 内层遍历 word2。

class Solution:def minDistance(self, word1: str, word2: str) -> int:# 异常判断if len(word1) == 0:return len(word2)if len(word2) == 0:return len(word1)# 初始化dp = [[0 for _ in range(len(word2) + 1)] for _ in range(len(word1) + 1)]for i in range(len(word1) + 1):dp[i][0] = ifor j in range(len(word2) + 1):dp[0][j] = jfor 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],dp[i][j-1]) + 1return dp[-1][-1]

124. Leetcode 583. 两个字符串的删除操作 (动态规划- 字符串系列)相关推荐

  1. python字符串的删除操作_Python字符串操作

    Python字符串操作 访问字符串的元素 str = 'Hello World' print(str[0]) print(str[-1]) print(str[0:5]) 输出: H d Hello ...

  2. python字符串的删除操作_Python 字符串操作(string替换、删除、截取、复制、连接、比较、...

    去空格及特殊符号 s.strip().lstrip().rstrip(',') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 复制字符串 #strcpy(sStr1, ...

  3. Leetcode 583.两个字符串的删除操作

    两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例 1: 输入: "se ...

  4. 583. 两个字符串的删除操作

    583. 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: " ...

  5. 代码随想录算法训练营Day56动态规划:583.两个字符串的删除操作,72.编辑距离

    583.两个字符串的删除操作 文章链接:代码随想录 (programmercarl.com) 思路:动规五步曲 (1)确定dp数组及其含义 dp[i][j]表示字符串1在区间[0, i - 1]和字符 ...

  6. 代码随想录算法训练营第五十六天-动态规划16|● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

    一.583. 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: &qu ...

  7. 判断子序列不同的子序列两个字符串的删除操作编辑距离

    引言 下面的四种题相互间都有联系,都是类似编辑距离类的题目,这里从简单开始,逐渐深入: 判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 字符串的一个子序列是原始字符串删除一些( ...

  8. 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

    题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变 ...

  9. 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

    1.题目 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符. 例如,输入"They are students."和"aeiou",则删除之后的第一个字 ...

最新文章

  1. 教你破解XP系统Administrator权限
  2. 关闭软盘_乔布斯签名软盘驱动器即将开拍 成交价预计达7500美元
  3. 【Linux】一步一步学Linux——bzip2recover命令(70)
  4. Sring类型数组赋值
  5. VS在win32平台与mysql链接_visual C++如何与MySQL在windows下建立连接
  6. cs1.5 linux服务端,CS1.5在linux上的配置
  7. android上传文件用哪个布局,每周总结20130821——android控件的尺寸、http文件上传...
  8. gateway nacos注册服务_第二篇 Spring Cloud Alibaba实战(一)Nacos服务注册与发现
  9. 高数篇:11.01多元函数求极限方法
  10. php tcpdf 没有头部,TCPDF - 设置头部Logo不显示问题
  11. ajax上传图片springmvc,springmvc ajax上传图片(jquery)
  12. 刚刚,5000000 里程碑达成!
  13. 用canvas制作的躲避球小游戏html5源码
  14. aria2 32bit Android,【各版本整合】32/64位Aria2 Tools - 支持RPC协议 AriaNG(客户端+网页版)...
  15. 暴雪娱乐-魔兽世界:地下城的环境艺术
  16. python程序中每条语句以分号结尾,在Python程序中,每条语句末尾必须添加分号。...
  17. 北斗/GPS定位模块冷启动、热启动、温启动有什么区别?
  18. 错误 1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 C:\Users\Administ
  19. Phoenix在2345公司的实践(转)
  20. 如何强制/干净删除文件、软件?

热门文章

  1. Windows Server2012 搭建域错误“本地Administraor账户不需要密码”
  2. 只用来保存JQuery lightbox图片用的
  3. JS魔法堂:判断节点位置关系
  4. UIButton拖动响应事件,距离问题
  5. postman-持续更新
  6. memcached服务器搭建(RedHat5)
  7. Oracle系统用户的默认密码及功能
  8. 手把手教你在Linux上搭建BitTorrent服务器
  9. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
  10. PAT甲级1011 World Cup Betting:[C++题解]模拟