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

南京网站建设关键词热度分析工具

南京网站建设,关键词热度分析工具,网站流量对比,贵阳好的网站建设公司今日份题目#xff1a; 给你两个单词 word1 和 word2#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作#xff1a; 插入一个字符 删除一个字符 替换一个字符 示例1 输入#xff1a;word1 horse, word…今日份题目 给你两个单词 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) 提示 0 word1.length, word2.length 500 word1 和 word2 由小写英文字母组成 题目思路 动态规划将整个单词的编辑问题转换成三个子问题的编辑问题。 思路插入、删除、替换三个操作可以在word1和word2两个单词中分别操作并且word1的插入操作就是word2的删除操作同理word2的插入操作就是word1的删除操作所以双方的六个操作可以简化为word1的插入操作、word2的插入操作和替换操作三个操作。假设当前位置是word1的第i个字符、word2的第j个字符。所谓word1的插入操作就是在i-1和j的位置的基础上也就是word1的前i-1个字符和word2的前j个字符编辑的距离的子问题下对word1进行插入操作所谓word2的插入问题就是在i和j-1的位置的基础上也就是word1的前i个字符和word2的前j-1个字符编辑的距离的子问题下对word2进行插入操作所谓替换操作就是在i-1和j-1的位置的子问题下对当前字符进行判断是否需要替换如果字符不同就需要替换相同就不需要替换注意dp中的i是word中的i-1因为word从0开始遍历下标dp从1开始遍历下标。 接下来就是大家比较关心的状态转移方程问题 根据上段的分析我们知道会有三种状态三种操作对应三种状态 //word1插入字符word1的前i-1个字符和word2的前j个字符编辑的距离本次word1插入1个字符 int adp[i-1][j]1; //word2插入字符word1的前i个字符和word2的前j-1个字符编辑的距离本次word2插入1个字符 int bdp[i][j-1]1; //替换word1的前i-1个字符和word2的前j-1个字符编辑的距离本次替换字符 int cdp[i-1][j-1]; if(word1[i-1]!word2[j-1]) c1; //如果word1的第i个字符word的下标为i-1和word2的第j个字符word的下标为j-1相同就不需要进行替换修改操作 状态转移方程就是取操作后的最小状态因为要求最小操作距离 dp[i][j]min(a,min(b,c)); 状态转移方程对比 最后dp [ n ] [ m ] 就是我们要返回的答案。 这道题目比较困难思路也可能存在漏洞欢迎大家在评论区进行讨论谢谢 代码 class Solution { public:int minDistance(string word1, string word2) {//获取两个字符串的长度int nword1.length();int mword2.length();//有一个字符串为空串if(n0) return m;else if(m0) return n;//dp数组int dp[1000][1000]{0};//边界状态初始化for(int i0;in;i) {dp[i][0]i;//相对于word1执行i次删除操作}for(int j0;jm;j) {dp[0][j]j;//相对于word1执行j次插入操作}//计算所有dp值for(int i1;in;i) {for(int j1;jm;j) {//word1的前i-1个字符和word2的前j个字符编辑的距离本次word1插入1个字符int adp[i-1][j]1;//word1的前i个字符和word2的前j-1个字符编辑的距离本次word2插入1个字符int bdp[i][j-1]1;//word1的前i-1个字符和word2的前j-1个字符编辑的距离本次替换字符int cdp[i-1][j-1];//如果word1的第i个字符word的下标为i-1和word2的第j个字符word的下标为j-1相同就不需要进行替换修改操作if(word1[i-1]!word2[j-1]) c1;dp[i][j]min(a,min(b,c));}}return dp[n][m];} };提交结果 欢迎大家在评论区讨论如有不懂的代码部分欢迎在评论区留言
http://www.dnsts.com.cn/news/2339.html

相关文章:

  • ecshop商城模板广州seo网站推广公司
  • 做暧暖爱视频1000部在线网站2023年百度小说风云榜
  • 网站推广咋做的精准大数据获客系统
  • 试玩app推广网站建设网站维护一般都是维护什么
  • 自己怎么拍做美食视频网站如何自己弄个免费网站
  • wordpress推广网站插件网络产品运营与推广
  • 低价建设网站安卓优化大师app
  • h5网站动画怎么做的兰州网站seo
  • 宁波网站设计企业微信做单30元一单
  • 宝塔怎么做两个网站360摄像头海澳門地区限制解除
  • 源代码如何做网站搜索关键词优化服务
  • 没有网站服务器空间如何用ftp营销模式方案
  • 做分析报表的网站百度用户服务中心官网电话
  • 为博彩做网站日入两万网站运营专员
  • 那个网站做宝贝主图好情感链接
  • 专注网站建设与优化营销推广策划方案范文
  • 上海网站建设公司介绍网站seo源码
  • 网站如何做移动适配最火的推广软件
  • 有哪些网站或者公司招募做视频的企业网站排名优化公司
  • 网站可以做固定资产吗武汉最新疫情
  • 山东专业网站建设公司哪家好cps推广接单平台
  • 什么是网页界面设计seo顾问是什么
  • 制作app需要先做网站网络视频营销
  • 2个女人做暧暧网站企业营销策划合同
  • 做b2c网站多少钱推广普通话手抄报内容简短
  • 个人网站建设计划报告谷歌seo外包
  • 电影视频网站建设费用高清视频线转换线
  • xml做网站源码百度快照收录入口
  • 网站制作案例效果上海服务政策调整
  • 外贸免费建设网站制作线上广告投放方式