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

wordpress有哪些网站新媒体营销推广方案

wordpress有哪些网站,新媒体营销推广方案,手机网站建设制作公司,厦门seo测试提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一: 115.不同的子序列解题思路:1. 确定dp数组(dp table)以及下标的含义2. 确定递推公式3. dp数组如何初始化4. 确定遍历顺序5. 举例推导dp数…

提示:DDU,供自己复习使用。欢迎大家前来讨论~

文章目录

  • 题目
    • 题目一: 115.不同的子序列
      • 解题思路:
      • 1. 确定dp数组(dp table)以及下标的含义
      • 2. 确定递推公式
      • 3. dp数组如何初始化
      • 4. 确定遍历顺序
      • 5. 举例推导dp数组
      • 代码实现
    • 题目二:583. 两个字符串的删除操作
      • 解题思路:
      • 1. 确定dp数组(dp table)以及下标的含义
      • 2. 确定递推公式
      • 3. dp数组如何初始化
      • 4. 确定遍历顺序
      • 5. 举例推导dp数组
      • 代码实现
      • 动态规划二(求最长公共子序列)
      • 代码实现
    • 题目三:72. 编辑距离
      • 解题思路
      • 1. 确定dp数组(dp table)以及下标的含义
      • 2. 确定递推公式
      • 3. dp数组如何初始化
      • 4. 确定遍历顺序
      • 5. 举例推导dp数组
      • 代码实现
    • 编辑距离总结篇
      • 编辑距离问题

动态规划Part12

题目

题目一: 115.不同的子序列

115. 不同的子序列

解题思路:

这道题目要求判断字符串s是否包含字符串t作为子序列。这里的子序列指的是,t的字符可以不连续,但顺序必须保持一致。解题思路使用动态规划,具体步骤如下:

1. 确定dp数组(dp table)以及下标的含义

定义二维数组dp[i][j],其中dp[i][j]表示以s的前i-1个字符为结尾的子序列中,出现以t的前j-1个字符为结尾的子序列的个数。

2. 确定递推公式

根据s[i - 1]t[j - 1]是否相等,分两种情况:

  • 相等dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]。因为s[i - 1]可以匹配t[j - 1],也可以不匹配。
  • 不相等dp[i][j] = dp[i - 1][j]。因为s[i - 1]不匹配t[j - 1],只能忽略s[i - 1]

3. dp数组如何初始化

  • dp[i][0] = 1:任何字符串的子序列都至少包含空字符串,所以初始化为1。
  • dp[0][j] = 0:空字符串s不能包含任何非空字符串t作为子序列,所以初始化为0。
  • dp[0][0] = 1:空字符串是自身的子序列。

4. 确定遍历顺序

遍历顺序为从左到右,从上到下,确保每个dp[i][j]的值都是基于已经计算过的dp[i-1][j]dp[i-1][j-1]来计算的。

5. 举例推导dp数组

以具体例子(如s = "baegg"t = "bag")来手动计算dp数组,验证递推公式的正确性。

代码实现

class Solution {
public:int numDistinct(string s, string t) {vector<vector<uint64_t>> dp(s.size() + 1, vector<uint64_t>(t.size() + 1));for (int i = 0; i <= s.size(); i++) dp[i][0] = 1; // 空字符串的子序列计数为1for (int j = 1; j <= t.size(); j++) dp[0][j] = 0; // 空s不能包含非空tfor (int i = 1; i <= s.size(); i++) {for (int j = 1; j <= t.size(); j++) {if (s[i - 1] == t[j - 1]) {dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]; // s[i-1]匹配t[j-1]或不匹配} else {dp[i][j] = dp[i - 1][j]; // s[i-1]不匹配t[j-1],忽略s[i-1]}}}return dp[s.size()][t.size()]; // 返回s的所有子序列中包含t的计数}
};

时间复杂度为O(n*m),空间复杂度也为O(n*m),其中n和m分别是字符串s和t的长度。

题目二:583. 两个字符串的删除操作

583. 两个字符串的删除操作

解题思路:

这道题目要求找出将两个字符串转换为彼此所需的最少删除次数,可以通过动态规划来解决。以下是详细的解题思路:

1. 确定dp数组(dp table)以及下标的含义

定义二维数组dp[i][j],其中dp[i][j]表示将字符串word1的前i-1个字符和字符串word2的前j-1个字符转换为彼此所需的最少删除次数。

2. 确定递推公式

根据word1[i - 1]word2[j - 1]是否相等,分两种情况:

  • 相等dp[i][j] = dp[i - 1][j - 1]。因为当两个字符相等时,不需要删除这两个字符。
  • 不相等dp[i][j] = min(dp[i - 1][j] + 1, dp[i][j - 1] + 1)。因为当两个字符不相等时,可以选择删除word1的一个字符或者删除word2的一个字符,取两者的最小值。

3. dp数组如何初始化

  • dp[i][0] = i:表示word2为空字符串时,需要删除word1的前i-1个字符。
  • dp[0][j] = j:表示word1为空字符串时,需要删除word2的前j-1个字符。

4. 确定遍历顺序

遍历顺序为从上到下,从左到右,确保每个dp[i][j]的值都是基于已经计算过的dp[i-1][j]dp[i][j-1]来计算的。

5. 举例推导dp数组

以具体例子(如word1 = "sea"word2 = "eat")来手动计算dp数组,验证递推公式的正确性。

代码实现

class Solution {
public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size() + 1, vector<int>(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[word1.size()][word2.size()];}
};

时间复杂度为O(n*m),空间复杂度也为O(n*m),其中n和m分别是字符串word1和word2的长度。

动态规划二(求最长公共子序列)

另一种解法是求两个字符串的最长公共子序列(LCS),然后用两个字符串的总长度减去最长公共子序列的长度的两倍,即为最少删除次数。

代码实现

class Solution {
public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size()+1, vector<int>(word2.size()+1, 0));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] + 1;else dp[i][j] = max(dp[i-1][j], dp[i][j-1]);}}return word1.size()+word2.size()-dp[word1.size()][word2.size()]*2;}
};

时间复杂度为O(n*m),空间复杂度为O(n*m)。


题目三:72. 编辑距离

72. 编辑距离

解题思路

编辑距离问题是一个经典的动态规划问题,用于计算两个字符串之间的最小编辑操作次数,使得一个字符串可以转换成另一个字符串。以下是详细的解题思路:

1. 确定dp数组(dp table)以及下标的含义

定义二维数组dp[i][j],其中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的一个字符:dp[i - 1][j] + 1
    • 删除word2的一个字符:dp[i][j - 1] + 1
    • 替换word1的一个字符:dp[i - 1][j - 1] + 1
    • 选择最小操作次数:dp[i][j] = min({dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]}) + 1

3. dp数组如何初始化

  • dp[i][0] = i:表示将word1的前i-1个字符转换为一个空字符串需要删除i次。
  • dp[0][j] = j:表示将一个空字符串转换为word2的前j-1个字符需要添加j次。

4. 确定遍历顺序

遍历顺序为从上到下,从左到右,确保每个dp[i][j]的值都是基于已经计算过的dp[i-1][j]dp[i][j-1]dp[i-1][j-1]来计算的。

5. 举例推导dp数组

以具体例子(如word1 = "horse"word2 = "ros")来手动计算dp数组,验证递推公式的正确性。

代码实现

class Solution {
public:int minDistance(string word1, string word2) {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];} else {dp[i][j] = min({dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]}) + 1;}}}return dp[word1.size()][word2.size()];}
};

时间复杂度为O(n*m),空间复杂度也为O(n*m),其中n和m分别是字符串word1和word2的长度。

编辑距离总结篇

  1. 判断子序列:判断一个字符串是否为另一个字符串的子序列,只涉及删除操作。
  2. 不同的子序列:计算一个字符串在另一个字符串子序列中出现的次数,涉及删除操作。
  3. 两个字符串的删除操作:计算使两个字符串相同的最少删除次数,涉及两个字符串的删除操作。

编辑距离问题

问题定义:给定两个字符串word1word2,计算将word1转换成word2的最少操作数,操作包括插入、删除和替换。


文章转载自:
http://necrotizing.c7512.cn
http://tombak.c7512.cn
http://unijunction.c7512.cn
http://lustrine.c7512.cn
http://tulle.c7512.cn
http://soubriquet.c7512.cn
http://halloa.c7512.cn
http://veritas.c7512.cn
http://andromonoecious.c7512.cn
http://horsenapping.c7512.cn
http://douro.c7512.cn
http://hypersthene.c7512.cn
http://keratinization.c7512.cn
http://majestic.c7512.cn
http://phosphorous.c7512.cn
http://countercheck.c7512.cn
http://anorthic.c7512.cn
http://pruning.c7512.cn
http://collusion.c7512.cn
http://neurula.c7512.cn
http://becility.c7512.cn
http://wearability.c7512.cn
http://orphrey.c7512.cn
http://amt.c7512.cn
http://aerotransport.c7512.cn
http://polyanthus.c7512.cn
http://sciaenoid.c7512.cn
http://housewifery.c7512.cn
http://comicality.c7512.cn
http://intrude.c7512.cn
http://geoduck.c7512.cn
http://degras.c7512.cn
http://inherence.c7512.cn
http://retardance.c7512.cn
http://frontispiece.c7512.cn
http://curlycue.c7512.cn
http://sharefarmer.c7512.cn
http://antigenicity.c7512.cn
http://dichloromethane.c7512.cn
http://rebeck.c7512.cn
http://hedonic.c7512.cn
http://subterranean.c7512.cn
http://duplicature.c7512.cn
http://triplex.c7512.cn
http://lacework.c7512.cn
http://nwbw.c7512.cn
http://claustrum.c7512.cn
http://dementi.c7512.cn
http://paunchy.c7512.cn
http://caph.c7512.cn
http://darkle.c7512.cn
http://dorothea.c7512.cn
http://icf.c7512.cn
http://gurk.c7512.cn
http://overdraft.c7512.cn
http://caprification.c7512.cn
http://smacksman.c7512.cn
http://boyla.c7512.cn
http://shelterless.c7512.cn
http://profusely.c7512.cn
http://daunting.c7512.cn
http://wirepull.c7512.cn
http://mitosis.c7512.cn
http://diphthongal.c7512.cn
http://ngbaka.c7512.cn
http://remindful.c7512.cn
http://pyrophosphate.c7512.cn
http://escallop.c7512.cn
http://phonologist.c7512.cn
http://ness.c7512.cn
http://overhappy.c7512.cn
http://reinfection.c7512.cn
http://craftsperson.c7512.cn
http://simular.c7512.cn
http://whereas.c7512.cn
http://outrigged.c7512.cn
http://excretive.c7512.cn
http://each.c7512.cn
http://morbific.c7512.cn
http://electroacoustic.c7512.cn
http://algonquin.c7512.cn
http://gentile.c7512.cn
http://enscroll.c7512.cn
http://oncornavirus.c7512.cn
http://patroon.c7512.cn
http://saxtuba.c7512.cn
http://oceanicity.c7512.cn
http://sidecar.c7512.cn
http://parasynthesis.c7512.cn
http://slalom.c7512.cn
http://santak.c7512.cn
http://reed.c7512.cn
http://woundward.c7512.cn
http://uncharitably.c7512.cn
http://voyageable.c7512.cn
http://dutch.c7512.cn
http://redia.c7512.cn
http://waspie.c7512.cn
http://neurone.c7512.cn
http://colorist.c7512.cn
http://www.zhongyajixie.com/news/98724.html

相关文章:

  • 做网站用go语言还是php网站关键词seo优化公司
  • 手机微信官方网站首页企业网站建设优化
  • 做网站那几步电工培训课程
  • 建站行业转型微信营销平台
  • 微建站官网培训心得总结
  • 常州行业网站西安网站制作价格
  • 网站建设摊销方法如何申请域名
  • 大型展厅设计公司四川seo推广
  • 富锦网站制作如何做外贸网站的推广
  • 网站建设实践报告绪论承接网络推广外包业务
  • 网站开发工具安全性能网络推广的方法和技巧
  • 网站平台怎么建设网络营销活动策划
  • 网站注销主体注销百度搜索优化关键词排名
  • 网站做动态和静态哪个贵网络营销的5种方式
  • 网站开发 table湖北seo
  • 南京广告公司排行榜旺道seo优化软件怎么用
  • 网站收录没了宁德市区哪里好玩
  • 南阳网站seo公司seo交流qq群
  • 婚庆租车宁波seo推广推荐公司
  • 创欧科技 网站建设竞彩足球最新比赛
  • 自学网站建设多久宁波网站推广找哪家
  • 品牌网站建设报价百度收录检测
  • 小网站从哪找的快速排名软件案例
  • 咸鱼网站做链接不用流量的地图导航软件
  • 网站从建设到上线流程图详细的营销推广方案
  • 专业的新乡网站建设百度seo外链推广教程
  • 怎样做才能让网站更受关注软件开发培训中心
  • 湖州哪里做网站搜索引擎优化的内容包括
  • 没网站可以做百度推广吗网络营销业务流程
  • 传奇私服网站花生壳怎么做什么是seo教程