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

建设工程查询网站视频号如何绑定小程序商店

建设工程查询网站,视频号如何绑定小程序商店,WordPress臃肿主题,网站seo设置是什么意思这道题之前刷代码随想录的时候做过,但是现在又给忘干净了,这道题需要用二维dp数组来做,看了一下自己当时写的博客,一下子就看懂了。这道题的子序列可以不连续,所以dp数组的定义和最长重复子数组不一样,我总…


这道题之前刷代码随想录的时候做过,但是现在又给忘干净了,这道题需要用二维dp数组来做,看了一下自己当时写的博客,一下子就看懂了。这道题的子序列可以不连续,所以dp数组的定义和最长重复子数组不一样,我总结出一个规律,**如果涉及到不连续的子序列,那么dp数组的定义就是第一个数组考虑[0,i]范围内元素,第二个数组考虑[0,j]范围内元素的情况下,两个数组之间的公共最长子序列的长度为dp[i][j];如果涉及到连续的子序列,那么dp数组的定义就是,第一个数组以nums1[i]结尾,第二个数组以nums2[j]结尾的情况下,所能得到的最长公共子序列的长度。**这道题还是要反复刷呀。
下面给出动规五部曲:
1.确定dp[i][j]的含义:text1考虑下标0 ~ i - 1范围内的元素,text2考虑下标0 ~ j - 1范围内的元素所能取到的最长公共子序列长度为dp[i][j]
(1)当text1[i - 1] == text2[j - 1]dp[i][j] = dp[i - 1][j - 1] + 1;
(2)当text1[i - 1] != text2[j - 1]dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
3.dp数组初始化 dp[0][0] = text1[0] == text2[0] ? 1 : 0;
4.确定遍历顺序:从左往右,从上往下遍历
5.打印数组(省略)
这里需要重点解释一下为什么dp数组要这样定义,因为假如我们这样定义:text1考虑下标0 ~ i范围内的元素,text2考虑下标0 ~ j范围内的元素所能取到的最长公共子序列长度为dp[i][j],那么我们在更新dp数组时,当text1[0] != text2[1]时,我们在执行dp[0][1] = max(dp[-1][1], dp[0][0]);时会发生越界访问,从而报错,我们很容易想到,我们无法将第0行和第0列通过简单的赋值进行初始化,这些元素的更新也需要借助复杂的递推公式,因此我们需要着重考虑如何在更新第0行和第0列时不发生越界访问,而将dp数组的下标与实际访问的字符串元素下标错开一位就能很好地解决这个问题。那么我们再回来看,当text1[0] != text2[1]时,我们会执行dp[1][2] = max(dp[0][2], dp[1][1]);那么dp[0][2]的初始值应该为多少?dp[0][2]的意义为:text1考虑下标0 ~ -1范围内的元素,text2考虑下标0 ~ 1范围内的元素所能取到的最长公共子序列长度为dp[0][2],很显然,text1没有合法元素可供比较,可以认为在这种情况下text1为空字符串,那么二者肯定不会存在公共子序列,因此dp[0][j]dp[i][0]都应全部初始化为0
至于递推公式,这个很容易想到,这里就不再赘述。

class Solution {
public:int longestCommonSubsequence(string text1, string text2) {//1.确定dp[i][j]的含义:text1考虑下标0 ~ i - 1范围内的元素//text2考虑下标0 ~ j - 1范围内的元素所能取到的最长公共子序列长度为dp[i][j]//2.确定递推公式 //(1)当text1[i - 1] == text2[j - 1]时 dp[i][j] = dp[i - 1][j - 1] + 1;//(2)当text1[i - 1] != text2[j - 1]时 dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);//3.dp数组初始化 dp[0][0] = text1[0] == text2[0] ? 1 : 0;//4.确定遍历顺序:从左往右,从上往下遍历//5.打印数组(省略)int m = text1.length();int n = text2.length();vector<vector<int>> dp(m + 1, vector<int> (n + 1, 0));  //初始化为全0数组for(int i = 1; i <= m; i++){for(int j = 1; j <= n; j++){if(text1[i - 1] == text2[j - 1])dp[i][j] = dp[i][j] = dp[i - 1][j - 1] + 1;elsedp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);}}return dp[m][n];}
};

文章转载自:

http://ES2naNwT.dqrhz.cn
http://95msLOD7.dqrhz.cn
http://AgeFKWWV.dqrhz.cn
http://STl1LLJz.dqrhz.cn
http://5UzPpEZm.dqrhz.cn
http://xB5twm2z.dqrhz.cn
http://L09Cav1N.dqrhz.cn
http://UcynnhjT.dqrhz.cn
http://jwiLJihB.dqrhz.cn
http://1t5d6EDo.dqrhz.cn
http://SdV51m6w.dqrhz.cn
http://37IeOM2f.dqrhz.cn
http://rGe0nLEP.dqrhz.cn
http://qGg5refG.dqrhz.cn
http://nJOkQI0s.dqrhz.cn
http://7Yx1lNmM.dqrhz.cn
http://Uufc2VOi.dqrhz.cn
http://5l9Tq7Ma.dqrhz.cn
http://XYu4Nbtl.dqrhz.cn
http://6W2XINnW.dqrhz.cn
http://DSaZqhod.dqrhz.cn
http://lz5gKWlK.dqrhz.cn
http://kZu2XAeZ.dqrhz.cn
http://0MPfbIBq.dqrhz.cn
http://GW16nWUl.dqrhz.cn
http://WMSTnuWc.dqrhz.cn
http://ceoqVDfd.dqrhz.cn
http://JF69OnWW.dqrhz.cn
http://SmTXLaNS.dqrhz.cn
http://OW7QOO7y.dqrhz.cn
http://www.dtcms.com/wzjs/761250.html

相关文章:

  • 优质的网站如何不要钱做网站
  • wordpress动漫视频网站轻量级数据库wordpress
  • 在网上做效果图赚钱的网站洛阳做网站那家好
  • 创客贴设计网站官网wordpress 3.5.2 漏洞
  • 互联网金融网站开发众筹插件 wordpress
  • 浙江省建设协会网站首页免费网络电话app下载
  • 购物网站seo北京微信网站建设电话咨询
  • 做网站选大公司好还是小公司网上注册公司需要多长时间
  • 高质量外链网站交换链接营销成功案例
  • 做网站 推广小程序源码大全
  • 做购物网站怎么赚钱做任务拿赏金的网站
  • 电子商城开发网站建设网站建设与会展
  • 图书馆新生专栏网站建设找做网站的上什么app
  • 抖音评论点赞自助网站石家庄建筑网
  • 手机记事本做网站广东新闻联播今天
  • 网站建设好找工作吗营销策划书范文1000字
  • 香奈儿网站建设策划书赣州网站建设精英
  • wordpress个人站主题php 手机网站
  • 网站平台建设咨询合同天津seo优化
  • 绵阳网站建设价格培训班有哪些
  • 工业设计ai软件郑州seo优化外包顾问
  • 江门网站推广哪里专业国际化网站
  • 像美团这种网站怎么做的个人新闻类网站模板免费下载
  • 岳阳市规划局建设工程公示网站关键词挖掘站长
  • 怎么打开网站去除wordpress阅读更多字段
  • 佛山建网站哪里好网站域名申请好了怎么建设网站
  • 南通网站建设排名公司怎么做家政的网站
  • 怎么做服装外贸网站郴州网
  • 电子商务网站建设教学实施建设外贸网站营销推广
  • 网站建设实验感想相城区网站建设