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

滨州市住房和城乡建设部网站软件网站开发

滨州市住房和城乡建设部网站,软件网站开发,设计师每天都上的网站,衡水做企业网站代码随想录算法训练营第56天|583. 两个字符串的删除操作#xff0c;72. 编辑距离 583. 两个字符串的删除操作72. 编辑距离 583. 两个字符串的删除操作 题目链接#xff1a;583. 两个字符串的删除操作#xff0c;难度#xff1a;中等 【实现代码】 class Solution { publi… 代码随想录算法训练营第56天|583. 两个字符串的删除操作72. 编辑距离 583. 两个字符串的删除操作72. 编辑距离 583. 两个字符串的删除操作 题目链接583. 两个字符串的删除操作难度中等 【实现代码】 class Solution { public:int minDistance(string word1, string word2) {vectorvectorint dp(word1.size() 1, vectorint(word2.size() 1));for (int i 0; i word1.size(); i) {dp[i][0] i;}for (int j 0; j word2.size(); j) {dp[0][j] j;}for (int i 1; i word1.size(); i) {for (int j 1; j word2.size(); j) {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][j - 1] 1);}}}return dp.back().back();} };【解题思路】 动规五部曲 确定dp数组dp table以及下标的含义dp[i][j]以i-1为结尾的字符串word1和以j-1位结尾的字符串word2想要达到相等所需要删除元素的最少次数。确定递推公式当word1[i - 1] 与 word2[j - 1]相同的时候dp[i][j] dp[i - 1][j - 1]; 当word1[i - 1] 与 word2[j - 1]不相同的时候有三种情况 a) 情况一删word1[i - 1]最少操作次数为dp[i - 1][j] 1; b) 情况二删word2[j - 1]最少操作次数为dp[i][j - 1] 1; c) 情况三同时删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);dp数组如何初始化dp[i][0]word2为空字符串以i-1为结尾的字符串word1要删除多少个元素才能和word2相同呢很明显dp[i][0] i。dp[0][j]的话同理确定遍历顺序遍历的时候一定是从上到下从左到右举例推导dp数组 72. 编辑距离 题目链接72. 编辑距离难度困难 【实现代码】 class Solution { public:int minDistance(string word1, string word2) {vectorvectorint dp(word1.size() 1, vectorint(word2.size() 1));for (int i 0; i word1.size(); i) {dp[i][0] i;}for (int j 0; j word2.size(); j) {dp[0][j] j;}for (int i 1; i word1.size(); i) {for (int j 1; j word2.size(); j) {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], dp[i - 1][j - 1]}) 1;}}}return dp.back().back();} };【解题思路】 动规五部曲 确定dp数组dp table以及下标的含义dp[i][j]以i-1为结尾的字符串word1和以j-1位结尾的字符串word2想要达到相等所需要删除元素的最少次数。确定递推公式当word1[i - 1] 与 word2[j - 1]相同的时候dp[i][j] dp[i - 1][j - 1]; 当word1[i - 1] 与 word2[j - 1]不相同的时候有三种情况 a)word1删除一个元素那么就是以下标i - 2为结尾的word1 与 j-1为结尾的word2的最近编辑距离 再加上一个操作即 dp[i][j] dp[i - 1][j] 1 b) 操作二word2删除一个元素那么就是以下标i - 1为结尾的word1 与 j-2为结尾的word2的最近编辑距离 再加上一个操作。即 dp[i][j] dp[i][j - 1] 1; word2添加一个元素相当于word1删除一个元素例如 word1 “ad” word2 “a”word1删除元素’d’ 和 word2添加一个元素’d’变成word1“a”, word2“ad” 最终的操作数是一样 c) 只需要一次替换的操作就可以让 word1[i - 1] 和 word2[j - 1] 相同。所以 dp[i][j] dp[i - 1][j - 1] 1;dp数组如何初始化dp[i][0]word2为空字符串以i-1为结尾的字符串word1要删除多少个元素才能和word2相同呢很明显dp[i][0] i。dp[0][j]的话同理确定遍历顺序遍历的时候一定是从上到下从左到右举例推导dp数组
http://www.dnsts.com.cn/news/134697.html

相关文章:

  • 求个网站2022aspcms中英文双语网站
  • 网站建设功能覆盖范围免费服务器使用推荐
  • 圣辉友联网站建设重庆做网站建设的公司
  • 香河做网站shijuewang学生个人网页设计模板
  • sql server网站建设网站转微信小程序
  • 网站主导航网络设计方案的重要性
  • 创意网站交互seo网站建设课程
  • 网站建设简图做企业官网教程
  • 网站后台管理系统下载安阳网络教研平台官网
  • 北京自己怎么做网站电子上网站开发
  • 企业网站框架图大型网站建设洛阳网站制作
  • 常平镇网站建设平台网站建设需求
  • 外贸网站建站i射阳网页定制
  • 找一个网站做优化分析怎么把网站做的好看
  • 如何编辑网站模板网站开发成本计算
  • 桐乡微网站建设公司天津高端网站
  • 哪个网站可以学做蛋糕展示网站建设价格
  • al万词推广网站引流网站建设 中国联盟网
  • 优惠券网站建设制作刚做的公司网站搜不到
  • 太原云建站模板如何进行网站建设分析
  • 网站开发协议wordpress内部服务器
  • 建设网站难吗影楼微网站建设
  • 如何做移动支付网站phpcms手机网站
  • 威海网站建设兼职网站自己做还是用程序
  • 特效视频素材网站asp.net做电商网站页面
  • 做网站的主要内容重庆九龙快报
  • 做网站申请域名空间微信公众号做微网站吗
  • 自媒体时代做网站有前途吗zh cn wordpress
  • 在什么网站可以免费做爰片姿势网站
  • 电子游艺网站开发react 网站开发