给定两个单词 word1 和 word2,计算出将 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')

1 classSolution:2 def minDistance(self, string1: str, string2: str) ->int:3 m =len(string1)4 n =len(string2)5 f = [[None for _ in range(n+1)] for i in range(m+1)]6 for i in range (m+1):7 for j in range(n+1):8 if i==0:9 f[i][j]=j10 continue

11 if j ==0:12 f[i][j] =i13 continue

14 #insert delete replace

15 if string1[i-1] == string2[j-1]:16 f[i][j]=f[i-1][j-1]17 else:18 f[i][j] = min(f[i-1][j],f[i][j-1],f[i-1][j-1]) + 1

19 return f[-1][-1]

参考 b站

python difflib 编辑距离_LeetCode--072--编辑距离(python)相关推荐

  1. python difflib详解_在 Python 中使用 difflib 比较字符串

    用 Shell 写程序还是不方便,今天用 Python 把昨天写的 Bash 脚本重写了,遇到两个关于字符串的个小问题: 1.做个类似 diff 工具的效果,大致指出两个字符串的不同之处,这个可以用 ...

  2. python实现平衡二叉树_LeetCode 110. 平衡二叉树 | Python

    # 110. 平衡二叉树 --- 题目来源:力扣(LeetCode)[https://leetcode-cn.com/problems/balanced-binary-tree](https://le ...

  3. python常用标准库有哪些-Python 200个标准库汇总

    文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串 ...

  4. Python库大全(涵盖了Python应用的方方面面),建议收藏留用!

    学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...

  5. python统计行号_用Python实现两个文件的不同行的编号

    title: 文件不同行 tags: python,IO,dict 比较两个文件在哪些行内容不同,返回这些行的编号,行号编号从1开始. 定义统计文件行数的函数 # 统计文件个数def statLine ...

  6. python从入门到实践源代码-Python从入门到项目实践 PDF 全彩带源码版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python.入门.项目实践方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小2.1 GB,admin编写,目前豆瓣.亚马逊.当 ...

  7. python项目实例源码哪里下载-Python从入门到项目实践 PDF 全彩带源码版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python.入门.项目实践方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小2.1 GB,admin编写,目前豆瓣.亚马逊.当 ...

  8. python青少儿编程教程-青少年PYTHON编程入门

    * 快速入门 图文并茂,理论与实践相结合,引导读者快速入门 * 轻松上手 有趣的文字描述,细致的流程讲解,帮助读者学习程序轻松上手 * 熟练应用 精炼的章节回顾,经典的自我评价,帮助读者提高学习成效 ...

  9. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  10. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

最新文章

  1. L1-009. N个数求和
  2. HttpHand和HttpModule的详细解释,包括Asp.Net对Http请求的处理流程。
  3. 击败安全系统系列文章之突破卡巴6
  4. 6. Qt 信号与信号槽(3)-QMetaObject
  5. 一些Java面试技巧分享,你不能错过!
  6. 防止HALCON刷新图像窗口控件闪烁
  7. oracle11g关闭库,Oracle11g中SYS连接阻止关闭数据库
  8. c语言串口控制单片机,利用USART实现单片机与串口通信[C语言]
  9. mysql 6位随机数_MySQL生成固定位数的随机数
  10. 彻头彻尾理解 ConcurrentHashMap
  11. ASA上的NAT配置及互联网接入(动态NAT、动态PAT、静态NAT、静态PAT以及NAT豁免、使用思科TFTP服务器上传ASDM模块)
  12. 计算机不连接网络打印机驱动程序,电脑无法自动连接局域网打印机驱动程序怎么处理...
  13. 计算机二级成绩划分标准,计算机二级成绩划分标准
  14. Promise 是什么?
  15. 闲人博上介绍R语言的一篇好文章
  16. dsf5.0没登录显示登录弹框
  17. 牛客-小a与星际探索
  18. python 地址簿
  19. 黑客‘劫持’了一颗卫星,用它直播黑客大会和放电影,并且还完全合法?
  20. Oracle-09:聚合函数

热门文章

  1. 【语音处理】基于matlab GUI音乐多次回声图谱显示【含Matlab源码 1733期】
  2. 【滤波器】基于matlab GUI高通+低通+带通+带阻FIR滤波器设计【含Matlab源码 699期】
  3. 【TSP】基于matlab遗传算法求解30城市旅行商问题【含Matlab源码 135期】
  4. 技术专家(ai/大数据)_``我们淹没在数据中'':在专家和AI时代如何思考自己
  5. word2vec字向量_Anything2Vec:将Reddit映射到向量空间
  6. 360浏览器:一键恢复不小心关闭的网页
  7. java编程 数组的中位数中枢_Java算法题1:找出两个有序数组的中位数?
  8. java构造器基本语法_Java语言中的定义变量、构造函数
  9. 浅析ServiceMesh Istio
  10. 【引向】全栈开发工程师之路