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

网站开发登录要做哪些验证河南郑州网站关键词排名助手

网站开发登录要做哪些验证,河南郑州网站关键词排名助手,谷歌浏览器下载官网,wordpress目录插件1143. 最长公共子序列 - 力扣#xff08;LeetCode#xff09; 给定两个字符串 text1 和 text2#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 #xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串#xff1a;它是由原字符串…1143. 最长公共子序列 - 力扣LeetCode 给定两个字符串 text1 和 text2返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 返回 0 。 一个字符串的 子序列 是指这样一个新的字符串它是由原字符串在不改变字符的相对顺序的情况下删除某些字符也可以不删除任何字符后组成的新字符串。 例如ace 是 abcde 的子序列但 aec 不是 abcde 的子序列。 两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。 示例 1 输入text1 abcde, text2 ace 输出3 解释最长公共子序列是 ace 它的长度为 3 。示例 2 输入text1 abc, text2 abc 输出3 解释最长公共子序列是 abc 它的长度为 3 。示例 3 输入text1 abc, text2 def 输出0 解释两个字符串没有公共子序列返回 0 。 思路和分析 本题和 leetCode 718.最长重复子数组 区别在于这里不要求是连续的了但是要有相对顺序即ace 是 abcde 的子序列 但是 aec 不是 abcde 的子序列  动规五部曲 1.确定dp数组dp table以及下标的含义 dp[i][j] : 长度为 [0,i-1] 的字符串 text1 与长度为 [0,j-1]的字符串text2的最长公共子序列为dp[i][j] 2.确定递推公式 思考有哪些方向可以推出dp[i][j] text1[i-1] text[j-1]时dp[i][j]dp[i-1][j-1]1text1[i-1] ! text[j-1]时分两种情况讨论 情况①: 不看e了考虑c就是abc和ac。这两个原字符串的最长公共子序列也可能是abc和ac的最长公共子序列。因为c和e明显不相同那么可不考虑e了情况②: 同理也可以不看c了考虑e就是ab和ace。这两个字符串也可能是两个原字符串的最长公共子序列那么这两种情况应该怎么取呢这两种情况都有可能是dp[i][j]那么 dp[i][j] max(dp[i][j-1],dp[i-1][j]); 情况①对应dp[i][j-1]情况②对应dp[i-1][j] 确定递推公式 if(text1[i-1] text2[j-1]) dp[i][j] dp[i-1][j-1] 1; else dp[i][j] max(dp[i-1][j],dp[i][j-1]); 3.dp数组初始化 dp[i][0] 应该初始化为0因为 test1[0,i-1] 和空串的最长公共子序列是0dp[0][j] 同理也为0其他下标都是随着递推公式逐步覆盖初始为多少都可以 故统一初始为0代码如下 vectorvectorint dp(text1.size() 1, vectorint(text2.size() 1, 0));4.确定遍历顺序 那么为了在递推的过程中这三个方向都是经过计算的数值所以要从前向后从上到下来遍历这个矩阵 5.举例推导dp数组 由上图可看到dp[text1.size()][text2.size()]为最终结果 class Solution { public:int longestCommonSubsequence(string text1, string text2) {vectorvectorint dp(text1.size() 1, vectorint(text2.size() 1, 0));for (int i 1; i text1.size(); i) {for (int j 1; j text2.size(); j) {if (text1[i - 1] text2[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 dp[text1.size()][text2.size()];} }; 时间复杂度: O(n * m)其中 n 和 m 分别为 text1 和 text2 的长度空间复杂度: O(n * m) 优化空间复杂度 class Solution { public:// 滚动数组int longestCommonSubsequence(string text1, string text2) {vectorint dp(text2.size() 1, 0);for(int i1;itext1.size();i) {int pre dp[0];for(int j1;jtext2.size();j) {int tmp dp[j];if(text1[i-1] text2[j-1]) dp[j] pre 1;else dp[j] max(dp[j-1],dp[j]);pre tmp;}}return dp[text2.size()];} }; 时间复杂度: O(n * m)其中 n 和 m 分别为 text1 和 text2 的长度空间复杂度: O(m) 参考文章和视频 动态规划子序列问题经典题目 | LeetCode1143.最长公共子序列_哔哩哔哩_bilibili 代码随想录 (programmercarl.com) 来自代码随想录课堂截图
http://www.sadfv.cn/news/30695/

相关文章:

  • wordpress 分隔符 sp网站维护优化
  • 兰州网站优化服务王野天演员
  • 网站产品链接怎么做上海国外网站建设
  • 深圳龙岗淘宝网站建设公司有哪些铁道部售票网站多少钱建设
  • 手机模板网站wordpress edu 2.0
  • 网站编程是什么意思往网站上做新东西需要什么
  • 有没有做卡哇伊的企业网站深圳画册设计龙华
  • 广州哪家公司做网站好什么是自主设计网站
  • 个人博客网站制作搭建任县网站建设
  • 亳州建设机械网站什么都能看的浏览器
  • 湖南营销网站建设设计最好看的WordPress 音乐播放器
  • 徐州做网站最好的公司十大erp系统
  • 象山县城乡建设局网站网站软文标题
  • 网站设计 广州门户网站建设的成果
  • 深圳极速网站建设服务天津企业网站建设开发维护
  • 网站建设上传文件chmod wordpress
  • 做家乡网站源代码营销型网站的基本模板
  • 英国男女做那个视频网站交易类网站建设功能表
  • 学校门户网站作用wordpress多文章
  • 深圳网站制作公司平台国内国际时事图片
  • 网站建设与管理试题一自媒体视频发布平台
  • wap网站开发用什么语言wordpress 站点图标
  • 东莞网站优化流程网页制作师培训机构
  • 男女生做恶心的网站沧州商贸行业网站建设
  • 商务网站开发方式怎么制作网页图片
  • 关键词做网站标题是什么意思做微商能利用的网站有哪些问题
  • 中国建设银行网站签名通下载临沂网站临沂网站制作
  • 可以做很多个网站然后哭推广杭州圣玛丁服装设计学校学费
  • 淘宝客网站如何做推广微信微网站是什么案例
  • 成都网站制作网站怎么用网站后台做轮播图