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

做聚会的网站快速建站哪个平台好

做聚会的网站,快速建站哪个平台好,sae 部署wordpress,wordpress右下角LeetCode 76题「最小覆盖子串」是一道经典的滑动窗口算法题目,难度为困难。题目要求在给定的字符串 s 中找到包含字符串 t 所有字符的最小子串,若不存在则返回空字符串。 题目分析 输入:字符串 s 和 t(均由英文字母组成&#xf…

LeetCode 76题「最小覆盖子串」是一道经典的滑动窗口算法题目,难度为困难。题目要求在给定的字符串 s 中找到包含字符串 t 所有字符的最小子串,若不存在则返回空字符串。

题目分析

输入:字符串 st(均由英文字母组成)
输出s 中包含 t 所有字符的最小子串,若不存在则返回空字符串
条件

  1. 子串需包含 t 的所有字符(包括重复字符)
  2. 若有多个符合条件的子串,返回长度最小的
  3. 时间复杂度尽量优化

解题思路

这道题可以使用滑动窗口算法结合哈希表来解决:

  1. 统计字符频率:使用哈希表统计 t 中每个字符的出现次数。
  2. 滑动窗口初始化:使用左右指针 leftright 表示窗口边界,初始均指向 s 的起始位置。
  3. 扩展窗口:右指针 right 向右移动,不断扩大窗口,直到窗口包含 t 的所有字符。
  4. 收缩窗口:当窗口满足条件时,尝试收缩左指针 left,尽可能缩小窗口大小,同时记录最小窗口的位置和长度。
  5. 重复步骤3-4:直到右指针遍历完整个字符串 s

算法实现

以下是使用C++实现的代码:

#include <string>
#include <unordered_map>
#include <climits>
using namespace std;string minWindow(string s, string t) {if (s.empty() || t.empty() || s.size() < t.size()) return "";// 统计t中各字符的出现次数unordered_map<char, int> target;for (char c : t) target[c]++;int required = target.size();  // 需要匹配的字符种类数// 滑动窗口初始化int left = 0, right = 0;int formed = 0;  // 当前窗口中已完全匹配的字符种类数unordered_map<char, int> window;  // 窗口中各字符的出现次数// 记录最小窗口的位置和长度int min_len = INT_MAX;int min_left = 0;while (right < s.size()) {// 扩展窗口,加入右侧字符char c = s[right];window[c]++;// 检查当前字符是否在t中,且窗口中的出现次数达到要求if (target.find(c) != target.end() && window[c] == target[c]) {formed++;}// 尝试收缩窗口while (left <= right && formed == required) {c = s[left];// 更新最小窗口if (right - left + 1 < min_len) {min_len = right - left + 1;min_left = left;}// 移出左侧字符window[c]--;if (target.find(c) != target.end() && window[c] < target[c]) {formed--;}left++;}right++;}return min_len == INT_MAX ? "" : s.substr(min_left, min_len);
}

复杂度分析

  • 时间复杂度 O ( n ) O(n) O(n),其中 n n n 是字符串 s 的长度。左右指针最多各遍历一次 s
  • 空间复杂度 O ( k ) O(k) O(k),其中 k k k 是字符串 t 中不同字符的个数。主要用于存储哈希表。

关键点解释

  1. 哈希表 target:记录 t 中每个字符的出现次数。
  2. 变量 required:表示需要匹配的不同字符数(即 target 的大小)。
  3. 变量 formed:记录当前窗口中已完全匹配的不同字符数。
  4. 收缩窗口的条件:当 formed == required 时,表示当前窗口已包含 t 的所有字符,此时尝试收缩窗口以找到最小子串。

通过这种方法,可以高效地在 s 中找到包含 t 所有字符的最小子串。

http://www.dtcms.com/wzjs/471611.html

相关文章:

  • 电视家日本付费分享码鹤壁seo推广
  • 麻花星空影视传媒制作公司seo网络推广知识
  • 怎么在网站上做反邪教知识搭建一个app平台要多少钱
  • 企业形象设计logo招聘seo专员
  • 深圳比较大的做网站设计公司有域名有服务器怎么做网站
  • 龙岗企业网站制作公司资源
  • 重庆网站建设平台免费青岛网络科技公司排名
  • 如何用两台电脑做服务器建网站百度认证营销顾问
  • Vs做的网站调试时如何适应网页google推广平台怎么做
  • 摄影师网站html5微信小程序开发平台
  • 东营做网站哪家好百度代理加盟
  • 网站开发要花多少钱西安新站网站推广优化
  • 高端网站推荐项目推广方案
  • 做守望先锋h的网站网站管理工具
  • 有做火币网这种网站的吗怎样才能上百度
  • 燕窝网站怎么做的seo资料站
  • 网站搭建排名优化2024政治时政热点
  • 做网站毕业论文佛山快速排名
  • 做网站哪便宜我想学做互联网怎么入手
  • 做网站公司在哪怎样在百度上注册自己的店铺
  • 制作外贸网站开发企业网站建设需求分析
  • 知乎网站建设入门书南宁 百度网盘
  • 网站建设咨询全网关键词搜索工具
  • 宝安网站开发谷歌代理
  • 重庆好的网站建设新产品的推广销售方法
  • 水务 网站建设太原互联网推广公司
  • 想学网站制作官方百度
  • 古风自己做头像的网站广州30万人感染
  • 用php做网站的书籍今日最新国际新闻头条
  • 电商网站开发平台山东做网站