当前位置: 首页 > news >正文

手机在线建站建设银行官网首页网站南山片区

手机在线建站,建设银行官网首页网站南山片区,生态网站模板,教育网站制作价格文档讲解#xff1a;代码随想录 视频讲解#xff1a;代码随想录B站账号 状态#xff1a;看了视频题解和文章解析后做出来了 583. 两个字符串的删除操作 class Solution:def minDistance(self, word1: str, word2: str) - int:dp [[0] * (len(word2)1) for _ in range(… 文档讲解代码随想录 视频讲解代码随想录B站账号 状态看了视频题解和文章解析后做出来了 583. 两个字符串的删除操作 class Solution:def minDistance(self, word1: str, word2: str) - int:dp [[0] * (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-1] 2, dp[i-1][j] 1, dp[i][j-1] 1)return dp[-1][-1] 时间复杂度O(n^2)         空间复杂度O(n) 1. 确定dp数组的含义 dp[i][j]以i-1为结尾的字符串word1和以j-1位结尾的字符串word2想要达到相等所需要删除元素的最少次数。 2. 确定递推公式 当word1[i - 1] 与 word2[j - 1]相同的时候dp[i][j] dp[i - 1][j - 1]; 当word1[i - 1] 与 word2[j - 1]不相同的时候有三种情况 情况一删word1[i - 1]最少操作次数为dp[i - 1][j] 1 情况二删word2[j - 1]最少操作次数为dp[i][j - 1] 1 情况三同时删word1[i - 1]和word2[j - 1]操作的最少次数为dp[i - 1][j - 1] 2 所以当word1[i - 1] 与 word2[j - 1]不相同的时候递推公式dp[i][j] min({dp[i - 1][j - 1] 2, dp[i - 1][j] 1, dp[i][j - 1] 1}); 因为 dp[i][j - 1] 1 dp[i - 1][j - 1] 2所以递推公式可简化为dp[i][j] min(dp[i - 1][j] 1, dp[i][j - 1] 1); 3. dp数组初始化 从递推公式中可以看出来dp[i][0] 和 dp[0][j]是一定要初始化的。 dp[i][0]word2为空字符串以i-1为结尾的字符串word1要删除多少个元素才能和word2相同呢很明显dp[i][0] i。 4. 确定遍历顺序 从递推公式 dp[i][j] min(dp[i - 1][j - 1] 2, min(dp[i - 1][j], dp[i][j - 1]) 1); 和dp[i][j] dp[i - 1][j - 1]可以看出dp[i][j]都是根据左上方、正上方、正左方推出来的。 所以遍历的时候一定是从上到下从左到右这样保证dp[i][j]可以根据之前计算出来的数值进行计算。 5. 举例 72. 编辑距离 class Solution:def minDistance(self, word1: str, word2: str) - int:dp [[0] * (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-1], dp[i-1][j], dp[i][j-1]) 1return dp[-1][-1] 时间复杂度O(n^2)         空间复杂度O(n) 1. 确定dp数组的含义 dp[i][j] 表示以下标i-1为结尾的字符串word1和以下标j-1为结尾的字符串word2最近编辑距离为dp[i][j]。 2. 确定递推公式 详情见卡哥文档 3. dp数组初始化 从递推公式中可以看出来dp[i][0] 和 dp[0][j]是一定要初始化的。 dp[i][0]word2为空字符串以i-1为结尾的字符串word1要删除多少个元素才能和word2相同呢很明显dp[i][0] i。 4. 确定遍历顺序 从递推公式 dp[i][j] min(dp[i - 1][j - 1] 2, min(dp[i - 1][j], dp[i][j - 1]) 1); 和dp[i][j] dp[i - 1][j - 1]可以看出dp[i][j]都是根据左上方、正上方、正左方推出来的。 所以遍历的时候一定是从上到下从左到右这样保证dp[i][j]可以根据之前计算出来的数值进行计算。 5. 举例
http://www.yutouwan.com/news/442928/

相关文章:

  • 如何发布网站海口公司做网站
  • 网站建设总体情况wordpress 单页面模板
  • 广安公司网站建设传奇小程序源码
  • 东莞网站建设 环保设备青岛缤纷网络科技有限公司
  • 郑州旅游网站建设打代码怎么做网站
  • 什么自己做网站吗做自媒体一般都注册几个网站
  • 大连甘井子区教育局梅州网站优化公司
  • 做视频网站如何赚钱html5怎么做二手网站
  • 合肥网站建合肥网站建设找蓝领商务国外企业网络设计研究现状
  • 做网站定制开发的公司南宁快速建站模板
  • 2018网站的建设与维护前景手机优化软件排行
  • 医院门户网站制作天津代理注册公司
  • 中山企业网站张家口职教中心计算机网站建设
  • 新手怎样学校做网站网页设计代写价格
  • 网站根目录权限推广计划是什么
  • 云虚拟主机可以做视频网站不网站seo优化很好徐州百度网络点赞
  • 建设的访问网站需要密码seo外包软件
  • 行政机关网站建设成都住建平台app
  • 自己创业做网站杭州网站做的好公司
  • 网上有专业的做网站吗想用vs做网站 学什么
  • 问答系统网站模板网站建设模板源码
  • 做logo的ppt模板下载网站wordpress 示例页面 删除
  • 专业律所网站建设做音乐网站要注意什么
  • 网站想要游览怎么做一个一起做网站
  • 网站要多少钱 优帮云网站建设亿玛酷知名
  • dede网站运行天数服务营销
  • 2022网页游戏排行榜绍兴网站建设优化
  • php开发做网站wordpress添加文件2m
  • 可以做淘宝客的网站有哪些wordpress默认播放器怎么用
  • 网站认证空间网站站点风格