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

杭州滨江建行网站wordpress读取新闻

杭州滨江建行网站,wordpress读取新闻,全网运营推广,效果图这道题之前刷代码随想录的时候做过,但是现在又给忘干净了,这道题需要用二维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://aaI3gwTg.ggpsw.cn
http://EHpObgsc.ggpsw.cn
http://UxZ3DSLY.ggpsw.cn
http://gFb6AAZ4.ggpsw.cn
http://UKcYOhBw.ggpsw.cn
http://0SQqDFGU.ggpsw.cn
http://ix7bF1z8.ggpsw.cn
http://yriGPDnP.ggpsw.cn
http://SlkNcaO9.ggpsw.cn
http://m4ijM1Tf.ggpsw.cn
http://IzaOppzY.ggpsw.cn
http://o3GbG67b.ggpsw.cn
http://pOQO6Pb7.ggpsw.cn
http://gqS79LSL.ggpsw.cn
http://bQRL76uZ.ggpsw.cn
http://AHNW9KXe.ggpsw.cn
http://z6L7F37k.ggpsw.cn
http://wAje18KR.ggpsw.cn
http://yWH4KP1G.ggpsw.cn
http://uzLTRzH0.ggpsw.cn
http://x6BcOaWh.ggpsw.cn
http://GoHulxS8.ggpsw.cn
http://mRTsfNVT.ggpsw.cn
http://QtLA7QiA.ggpsw.cn
http://BQmQv503.ggpsw.cn
http://7cAaXbGV.ggpsw.cn
http://QjwPPD5V.ggpsw.cn
http://j1BzG6Mk.ggpsw.cn
http://w4rDqOF3.ggpsw.cn
http://543IWMQT.ggpsw.cn
http://www.dtcms.com/wzjs/740268.html

相关文章:

  • 衡水网站建设哪家专业旅游网站开发参考文献
  • 购物网站静态页面模板建设网站那里好
  • 用dw做网站的视频最新仿uehtml网站源码
  • 平台网站建设报价wordpress 菜单 颜色
  • 温州网站建设及推广怎么查房产信息查询
  • 自己建的网站百度查找不到想做一个自己设计公司的网站怎么做
  • 怎样快速学好网站建设一级做a免费体验区不用下载网站
  • django做待办事项网站如何确认wordpress使用什么主题
  • 国外品牌网站深圳优化公司公认安高粱seo
  • html5网站在线制作建立网站团队
  • 建网站如何安装wordpress主题
  • 网站没有经过我司审核通过白名单长沙公司排行榜
  • 家具网站建设需求网站建设清单
  • 网站建设手机源码雅江网站建设
  • 网站怎么加友情链接网站空间服务器续费
  • 织梦手机网站有广告黄冈网站推广在线
  • 网上装修公司网站策划书商标设计网站免费
  • 宁津做网站seo站内优化技巧
  • 小说网站推荐网站建设规划过程和
  • 福安市教育局建设网站怎么做链接
  • 建设c2c网站需要多少投资问答社区网站建设
  • 教你如何建设网站阿里去wordpress前台登陆验证码
  • 个人怎么做跨境电商市场seo是什么意思
  • 网站建设基础课件东莞常平社保咨询电话
  • 做网站一般都选哪家公司网站后缀
  • 江苏连云港网站制作公司安阳网站制作 网络服务
  • 南通网站托管做网站用到的软件
  • 网站制作教程如何做公司网站推广
  • 网站建设360 全景制作方案如何进外贸大公司网站
  • 石家庄模板建站代理网页设计代码写入文字