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

网站开发教学网wordpress google 360

网站开发教学网,wordpress google 360,嘉兴免费网站制作,长沙网站优化掌营天下LeetCode 76 最小覆盖字串 在本篇博客中#xff0c;我们将探讨LeetCode上的一道算法题目——“最小覆盖子串”。这道题的主要目标是找到字符串s中包含字符串t中所有字符的最小子串。 问题描述 给定字符串s和t#xff0c;要求在字符串s中找到一个最小的子串#xff0c;使得…LeetCode 76 最小覆盖字串 在本篇博客中我们将探讨LeetCode上的一道算法题目——“最小覆盖子串”。这道题的主要目标是找到字符串s中包含字符串t中所有字符的最小子串。 问题描述 给定字符串s和t要求在字符串s中找到一个最小的子串使得这个子串包含了字符串t中所有的字符。如果不存在这样的子串返回空字符串。 解题思路 要解决这个问题我们可以使用滑动窗口的方法。滑动窗口是一种经典的算法思想在处理子串、子数组等问题时非常有效。 具体地我们可以按照以下步骤进行 创建两个哈希表一个用于存储字符串t中每个字符的出现次数另一个用于存储当前窗口中每个字符的出现次数。使用两个指针j指向窗口的左边界i指向窗口的右边界 j和i初始化为0。遍历字符串s移动i。缩小窗口移动j尽量减小窗口大小同时保证包含字符串t中所有字符。在遍历过程中更新最小子串的起始位置和长度。 实现代码 class Solution { public:string minWindow(string s, string t) {unordered_mapchar, int map, _map;string result;// 将要查找的字符放入到哈希表中for (auto i : t) map[i];// j左 i右for (int i 0, j 0, count 0; i s.length(); i) {// 如果_map中加入字符后数量没有超过map说明是一个有效字符if (_map[s[i]] map[s[i]]) count;// 缩小窗口while (_map[s[j]] map[s[j]]) _map[s[j]]--;// 当窗口包含了t中所有字符时更新最小子串if (count t.length()) {if (result.empty() || result.size() i - j 1)result s.substr(j, i - j 1);}}return result;} };复杂度分析 时间复杂度分析 遍历字符串s 算法的主要部分是对字符串s进行一次线性遍历因此时间复杂度为O(n)其中n是字符串s的长度。内部循环 内部循环中包含了两个指针的移动它们的时间复杂度取决于指针的移动次数。在最坏情况下每个指针都可能移动n次因此内部循环的时间复杂度也是O(n)。哈希表操作 哈希表的操作在最坏情况下可以达到O(1)的时间复杂度因此哈希表的操作不会对总体复杂度造成影响。 综上所述算法的时间复杂度为O(n)。 空间复杂度分析 哈希表的空间复杂度 算法中使用了两个哈希表它们存储的键值对数量不会超过字符串t的长度因此哈希表的空间复杂度为O(|t|)其中|t|是字符串t的长度。额外空间 除了哈希表之外算法只使用了常数级别的额外空间因此不会对总体空间复杂度造成影响。 综上所述算法的空间复杂度为O(|t|)。 总结 本文介绍了如何利用滑动窗口的思想解决LeetCode中的最小覆盖子串问题。通过使用两个哈希表记录字符出现次数以及通过移动左右指针来确定子串的位置我们可以高效地找到问题的解决方案。滑动窗口是一种在处理子串问题时非常有用的算法思想可以帮助我们解决各种相关的问题。
http://www.zqtcl.cn/news/12794/

相关文章:

  • 企业商城网站建设开发江苏企业建网站排名优化
  • 对象储存做网站创建网站目录应注意
  • ps做网站学到什么程度拍摄广告片制作公司
  • 企业网站推广策划方法wordpress 悬浮 登录
  • 一 电子商务网站建设规划支持wordpress的主机
  • 哪个网站可以做免费商业推广河南国正建设集团公司网站
  • 电子商务网站建设与管理答案免费学平面设计的网站
  • 163企业邮箱免费百度seo教程
  • 新手怎么做企业网站网站开发服务费会计分录
  • 深圳市做网站的公司锦州网站建设案例
  • 汉沽集团网站建设易语言 wordpress
  • 厦门住房建设局网站首页招标建设网站
  • 长春专用网站建设网站推广公司运营模式
  • 人才网站建设策划书wordpress rss解析
  • 服装网站论文网站建设中应该返回502还是301
  • 东莞做网站优化的公司seo平台有哪些
  • 最专业网站建设大型网站开发用什么语言
  • 营销网站 深圳学生个人网页设计主题
  • 静态网页怎么做网站怎么查看自己网站是否被收录
  • 南山做网站公司有哪些南京网站a建设云世家
  • 建立自己网站要多少钱网页设计与应用
  • 怎样做境外网站上赚钱良品铺子网站建设
  • 福州市建设厅网站wordpress意见反馈功能
  • 长沙旅游网站制作那里建设网站
  • 福建金融公司网站建设广州seo效果
  • 房产网站建设方案项目书博客网站开发技术
  • 邢台网站制作哪里有做暧嗳xo小视频免费网站
  • 山东建设厅网站 高英使用模板建站
  • 做网站哪种语言好旅游营销推广方式
  • 如何备份网站数据比较好的网站建设网站