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

管理咨询师证书含金量郑州关键词优化费用

管理咨询师证书含金量,郑州关键词优化费用,企业邮箱是什么?,前端培训机构去哪个好两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "sea…

两个字符串的删除操作

给定两个单词 word1 和 word2 ,返回使得 word1 和  word2 相同所需的最小步数

每步 可以删除任意一个字符串中的一个字符。

示例 1:

输入: word1 = "sea", word2 = "eat"
输出: 2
解释: 第一步将 "sea" 变为 "ea" ,第二步将 "eat "变为 "ea"

示例  2:

输入:word1 = "leetcode", word2 = "etco"
输出:4
思路:

        /*

            dp[i][j]表示以i-1为结尾的word1和以j-1为结尾的word2相同的最小删除的次数

            相同

            dp[i][j] = dp[i-1][j-1];

            不同

            dp[i][j] = min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+2);

            初始化dp[i][0] = i; dp[0][j] = j;

            遍历顺序 从左到右,从前到后

            打印dp数组

        */

代码:
class Solution {
public:int minDistance(string word1, string word2) {/*dp[i][j]表示以i-1为结尾的word1和以j-1为结尾的word2相同的最小删除的次数相同dp[i][j] = dp[i-1][j-1];不同dp[i][j] = min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+2);初始化dp[i][0] = i; dp[0][j] = j;遍历顺序 从左到右,从前到后打印dp数组*/vector<vector<int>>dp(word1.size()+1,vector<int>(word2.size()+1,0));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];elsedp[i][j] = min(min(dp[i-1][j]+1,dp[i][j-1]+1),dp[i-1][j-1]+2);}}return dp[word1.size()][word2.size()];}
};

72. 编辑距离

给你两个单词 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')
思路:

        /*

         dp[i][j]表示以i-1的word1,j-1的word2的相同的最小步数dp[i][j]

         word1[i-1]==word2[j-1]

         dp[i][j] = dp[i-1][j-1];

         word1[i-1]!=word2[j-1]

         增:可以用删的逆行实现

         删:dp[i][j] = min(dp[i-1][j]+1,dp[i][j-1]+1);

         换:dp[i][j] = dp[i-1][j-1]+1;

         初始化 dp[i][0] = i;dp[0][j] = j;

         遍历顺序 从左到右,从前到后

         打印dp数组

        */

代码:
class Solution {
public:int minDistance(string word1, string word2) {/*dp[i][j]表示以i-1的word1,j-1的word2的相同的最小步数dp[i][j]word1[i-1]==word2[j-1]dp[i][j] = dp[i-1][j-1];word1[i-1]!=word2[j-1]增:可以用删的逆行实现删:dp[i][j] = min(dp[i-1][j]+1,dp[i][j-1]+1);换:dp[i][j] = dp[i-1][j-1]+1;初始化 dp[i][0] = i;dp[0][j] = j;遍历顺序 从左到右,从前到后打印dp数组*/vector<vector<int>>dp(word1.size()+1,vector<int>(word2.size()+1,0));for(int i = 0;i<word1.size()+1;i++){dp[i][0] = i;}for(int j  =0;j<word2.size()+1;j++){dp[0][j] = j;}for(int i = 1;i<word1.size()+1;i++){for(int j = 1;j<word2.size()+1;j++){if(word1[i-1]==word2[j-1])dp[i][j] = dp[i-1][j-1];else{dp[i][j] = min(min(dp[i-1][j]+1,dp[i][j-1]+1),dp[i-1][j-1]+1);}}}return dp[word1.size()][word2.size()];}
};

还有很多瑕疵,还需继续坚持!

http://www.shuangfujiaoyu.com/news/59863.html

相关文章:

  • 网站设计配色怎么做快手作品免费推广软件
  • 通过ip访问网站需要怎么做竞价推广账户竞价托管
  • 高端设计网站建设近10天的时政新闻
  • 网站前端 设计站长工具是干嘛的
  • 投票网站怎么制作如何推广普通话的建议6条
  • 做网站要会没软件百度云网盘下载
  • 一个公司怎么做网站都放些什么个人网站制作软件
  • 中山网站设计公司2022好用值得推荐的搜索引擎
  • 烂网站做竞价行吗网站如何推广营销
  • wordpress自动tag内链独立站seo实操
  • 长春广告公司网站建设网络营销策略的特点
  • web2.0网站开发c网站怎么优化自己免费
  • 公司部门岗位职责搜狗搜索引擎优化
  • 最好的响应式网站惠州seo管理
  • 邢台网站制作哪家好baud百度一下
  • ios软件资源网站什么平台打广告比较好免费的
  • 网站文案优化网站网络推广优化
  • 武汉电脑网站制作公司地推拉新app推广接单平台免费
  • 深圳市做网站知名公司有哪些视频营销模式有哪些
  • 崇信县门户网站领导之窗百度推广介绍
  • 南京广告公司有哪些公司seo关键词布局
  • 营销型品牌网站建设电商网站建设报价
  • o2o网站建设方案企业网站定制开发
  • 为什么网站上传都上传不成功网站免费发布与推广
  • 外链 网站权重许昌网络推广公司
  • 谁可以帮我做网站让顾客心动的句子
  • 建设企业网站的目的福建seo快速排名优化
  • 网址查询站长工具汽车推广软文
  • wordpress直接显示文章seo点击软件
  • 网站的设计原则电脑优化软件排行榜