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

用家里网络做网站邮件营销

用家里网络做网站,邮件营销,深圳招聘一般在哪个网站,手机上能安装微信网页版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/57892.html

相关文章:

  • 延安网站开发seo搜索引擎优化人员
  • 灵犀科技网站建设百度网址大全网站大全
  • 自己电脑wordpress麒麟seo外推软件
  • 商城网站建设系统seo外链发布平台
  • 网站建设图片怎么做搜索引擎排名竞价
  • 长沙网站网站建设互联网十大企业
  • 国家重大建设项目库网站注册最新域名查询ip
  • 企业做网站要全球网站流量排名100
  • 徐州有哪些网站制作公司seo顾问
  • 网站建设在哪里做比较好成人职业技能培训有哪些项目
  • 济南企业营销型网站建设价格seo培训班 有用吗
  • 什么是网站集约化建设网络营销方案的制定
  • 做淘客网站多少钱网络营销就业前景和薪水
  • 微信网站建设电话seo技术经理
  • 武汉企业如何建网站查询关键词
  • 网站的360快照怎么做成功的网络营销案例有哪些
  • 南阳网站建设哪家好郑州网站策划
  • 代做网站百度竞价推广代理商
  • 贵州网站集约化建设什么是网站推广
  • 杭州集团网站建设洛阳搜索引擎优化
  • 网站建设合同 免责声明seo网络培训
  • 正规网站建设空间企业网络营销策略
  • 深圳推广平台关键词优化排名软件s
  • 网站权重排行企业站seo案例分析
  • wap网站的发展电商网站建设方案
  • 宜州做网站苹果看国外新闻的app
  • 无限流量网站建设pageadmin建站系统
  • 福建网站建设公司查询网站服务器
  • 济南网站制作哪家专业网推是什么意思
  • 做游戏交易网站老王搜索引擎入口