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

大网站有哪些云南建设厅网站资质证书查询

大网站有哪些,云南建设厅网站资质证书查询,软件公司排名国内,三网合一网站建设系统 价格文章目录 写在前面Tag题目来源题目解题解题思路方法一#xff1a;双指针方法二#xff1a;动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法#xff0c;两到三天更新一篇文章#xff0c;欢迎催更…… 专栏内容以分析题目为主#xff0c;并附带一些对… 文章目录 写在前面Tag题目来源题目解题解题思路方法一双指针方法二动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法两到三天更新一篇文章欢迎催更…… 专栏内容以分析题目为主并附带一些对于本题涉及到的数据结构等内容进行回顾与总结文章结构大致如下部分内容会有增删 Tag介绍本题牵涉到的知识点、数据结构题目来源贴上题目的链接方便大家查找题目并完成练习题目解读复述题目确保自己真的理解题目意思并强调一些题目重点信息解题思路介绍一些解题思路每种解题思路包括思路讲解、实现代码以及复杂度分析知识回忆针对今天介绍的题目中的重点内容、数据结构进行回顾总结。 Tag 【双指针】【动态规划】【字符串】 题目来源 392. 判断子序列 题目解题 判断字符串 s 是不是字符串 t 的子序列字符串的子序列指的是原字符串删除一些字符或者不删除字符但是不改变原来字符顺序而形成的新的字符串。 解题思路 方法一双指针 我们使用两个指针 i 和 j初始化分别指向字符串 s 和 t 的初始位置。从前往后对 s[i] 和 t[j] 进行匹配 如果 s[i] t[j]则同时向右移动双指针如果 s[i] ! t[j]则只移动指向字符串字符的指针 j无论是否匹配都需要移动 j 指针最终如果 i 移动到了字符串 s 的末尾说明 s 是 t 的子序列。 实现代码 class Solution { public:bool isSubsequence(string s, string t) {int i 0, j 0;int n s.size(), m t.size();while(i n j m) {if(s[i] t[j])i;j;}return i n;} };复杂度分析 时间复杂度 O ( n m ) O(nm) O(nm) n n n 为 s 的长度 m m m 为 t 的长度。无论匹配是否成功都至少youyige有一个指针向右移动两指针的移动总距离为 n m nm nm。 空间复杂度 O ( 1 ) O(1) O(1)仅仅使用了两个指针变量。 方法二动态规划 方法一有可以进行优化的地方在方法一中我们需要枚举匹配 t 中的字符如果 t 中不匹配的字符很长我们会有大量的时间浪费在 t 中找下一个匹配的字符。 于是我们可以先对字符串 t 进行预处理记录从每个位置开始往后每一个字符第一次出现的位置。 状态 f[i][j] 表示字符串 t 中从位置 i 开始往后字符 j 第一次出现的位置。 状态转移 有如下的状态转移关系 如果 t[i] j那么 f[i][j] i否则f[i][j] f[i1][j]。 根据以上转移关系我们需要对字符串 t 从后往前进行动态规划。 base case 我们的边界状态为 f[m-1][...]我们置 f[m][...] m让 f[m-1][...] 正常转移如果 f[i][j] m则表示从位置 i 开始往后不存在字符 j。 我们通过 f 数组可以快速定位到字符串 t 后面每一个第一次出现的字符s 中的字符 如果 f[i][j] m则表示从字符串 t 位置 i 开始往后不存在 s 中的字符 j则直接返回 false否则更新 i从新的位置开始定位 s 中的字符如果一直没遇到 m最后返回 true。 方法二使用动态规划的方法对字符串 t 进行一次处理可以大大提高匹配也是 进阶 题目的一种解法。 实现代码 class Solution { public:bool isSubsequence(string s, string t) {int n s.size(), m t.size();vectorvectorint f(m1, vectorint(26, 0));for (int i 0; i 26; i) {f[m][i] m;}for (int i m-1; i 0; --i) {for (int j 0; j 26; j) {if (t[i] j a) {f[i][j] i;}else f[i][j] f[i1][j];}}int start 0;for (int i 0; i n; i) {if (f[start][s[i] - a] m)return false;start f[start][s[i] - a] 1;}return true;} }; 复杂度分析 时间复杂度 O ( m × ∣ ∑ ∣ n ) O(m \times \left| \sum \right| n) O(m×∣∑∣n) n n n 为字符串 s 的长度m 为字符串 t 的长度 ∣ ∑ ∣ \left| \sum \right| ∣∑∣ 为字符集 ∣ ∑ ∣ 26 \left| \sum \right| 26 ∣∑∣26。 空间复杂度 O ( m × ∣ ∑ ∣ ) O( m \times \left| \sum \right|) O(m×∣∑∣)使用的额外空间为对字符串 t 预处理所占用的空间。 写在最后 如果文章内容有任何错误或者您对文章有任何疑问欢迎私信博主或者在评论区指出 。 如果大家有更优的时间、空间复杂度方法欢迎评论区交流。 最后感谢您的阅读如果感到有所收获的话可以给博主点一个 哦。
http://www.hkea.cn/news/14538448/

相关文章:

  • 网站建设报价模板wordpress 视频站模板下载
  • 东莞企网站建设宁波网站建设公司网络推广
  • 烟台网站建设找企汇互联专业网站整站优化推广方案
  • 国外网站空间租用费用天猫商城的商品来源
  • 石材网站模板个人怎么创建公众号
  • 建网站需要哪些资质怎么建设网站后台
  • 王磊网站建设怎样在微信小程序里开店
  • 网站做进一步优化基于php技术的小型企业网站开发
  • 网站建设英文文献目录e福州app官方下载
  • 做资源网站做1688网站运营工资怎么样
  • 怎样低成本做网站推广如何搭建php视频网站
  • 深圳住建网站商丘网站开发
  • 网站建设团队扬州360网站备案查询
  • 长春专业网站建设吴桥网站建设公司
  • 长尾关键词挖掘站长工具装修公司网站源码php
  • 北京移动端网站设计最牛网站建设是谁
  • 领优惠卷的网站怎么做php 5.4 wordpress
  • 济宁亿峰科技做网站一年多少费用外贸网站怎么建设
  • 短网址在线生成免费seo是什么
  • 免费下载ppt模板的网站有哪些网站开发的实验心德
  • php网站超市源码网页 网 址网站区别
  • 丰台网站制作免费注册商标
  • 淘宝店铺网站建立wordpress后端改写
  • 建设网站实训报告书福田网站建设联系电话
  • 茂名百度搜索网站排名电子商务网站建设与管理实验报告
  • 免费海报制作网站营销策划策划公司
  • 做网站的职业规划校园网站建设多少钱
  • 做销售网站需要多少钱哪个平台电商运营比较好
  • 如何设计好酒店网站模板网站建设方案设计书
  • 建网站空间购买网站是否有管理员权限