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

做公司网站需要提供的资料网站排名靠前的方法

做公司网站需要提供的资料,网站排名靠前的方法,wordpress关键词设置,bc网站建设原题:76. 最小覆盖子串 - 力扣(LeetCode) 题目解析: 此题在这道题的基础上进行理解会更简单 leetcode --- 30. 串联所有单词的子串[C 滑动窗口/双指针]-CSDN博客 本题要求在s字符串中找到含有t字符串所有字符的最短子串。 也就是…

原题:76. 最小覆盖子串 - 力扣(LeetCode)

题目解析:

此题在这道题的基础上进行理解会更简单

leetcode --- 30. 串联所有单词的子串[C++ 滑动窗口/双指针]-CSDN博客

本题要求在s字符串中找到含有t字符串所有字符的最短子串。

也就是说s字符串中的字符可能有非t字符串中的字符,或者多个t字符串中的字符(即重复)

那么和找异位词不同的是 不能简单地通过有效字符个数来判断找到符合要求的子串。所以我们用有效字符的种类来判断。

算法原理:

滑动窗口+哈希表

哈希表hash1用来统计t字符串中字符的频次,再设置一个kinds变量,当这个字符出现频次大于0时,就表示有一个种类。

创建哈希表hash2统计窗口中的字符出现的频次,创建count变量表示窗口中字符的种类

滑动窗口四步走

1.进窗口

在哈希表中更新right指针指向的元素的频次

check判断 hash2中这个字符的频次是否和hash1中的频次 相等

只有相等的时候才让count++(表示有效字符种类增加)

2.判断(即找到出窗口的前置条件)

如果count 等于 kinds,表示此时有效字符种类相等

3.更新状态

在进入滑动窗口之前先设置好两个变量begin 和 min_len分别用来记录符合要求的字符串的起始位置和长度

min_len与 right-left + 1 比较

如果right-left + 1更短,则 min_len替换成更短的长度;

将left赋值给begin

4.出窗口

check判断hash2中的出窗口字符频次是否等于hash1中的频次,如果相等,则有效字符种类

count--

然后让left向右移动一位

最后返回结果时,如果begin还等于初始值(表示不存在最小覆盖子串)返回空串

反之返回从begin开始,长度为min_len的子字符串

代码编写:

class Solution {
public:string minWindow(string s, string t) {int hash1[128] = {0}; //保存t字符串中字符出现频次int kinds = 0; //统计有效字符的种类for(auto ch : t){if( hash1[ch]++ == 0){kinds++;}}int hash2[128] = {0};//统计窗口中字符出现频次int min_len = INT_MAX,begin = -1;for(int left = 0,right = 0,count =0; right < s.size() ; right ++){//进窗口+维护count   其中count表示窗口有效字符的种类char in = s[right];if(++hash2[in] == hash1[in]){count++;}//判断while(count == kinds){//更新状态if(right - left +1 <min_len){min_len = right - left+1;begin = left;}//出窗口char out = s[left++];if( hash2[out]-- == hash1[out] ){count--;}}}if(begin == -1){return "";}else{return s.substr(begin,min_len);}}
};

http://www.yidumall.com/news/25113.html

相关文章:

  • 最近一周新闻热点大事件seo网站优化多少钱
  • 秦皇岛网站制作报价广告牌
  • 静态网站开发文章百度识图 上传图片
  • 琼海做网站口碑小吃培训去哪里学最好
  • 做网站优化多少钱宁波网络推广
  • 淘宝联盟做返利网站全球搜官网
  • 做网站的规范seo是什么工作
  • magento网站搬家太极seo
  • 用美国服务器做钓鱼网站哈尔滨企业网站模板建站
  • 校园网站建设方案书北京网站seo公司
  • 域名注册服务商网站怎么网站排名seo
  • 郑州做网站哪家比较好企业培训课程有哪些
  • 长沙好的做网站品牌北京百度seo公司
  • dede 网站栏目管理网上宣传广告怎么做
  • h5 做的网站 价格bt磁力库
  • 北京地铁建设管理公司网站比较经典的营销案例
  • wordpress gourl=优化措施最新回应
  • seo包年优化平台东莞快速优化排名
  • 如何做网站豆瓣健康码防疫核验一体机
  • 中山顺德网站建设湘潭网站设计
  • 国外教做蛋糕的网站河南整站百度快照优化
  • SEO做得最好的网站官方进一步优化
  • 网站权重什么意思昆明网络推广
  • 泰州市城市建设网站seo网络推广知识
  • 广告行业做网站哪个好宁波seo推广优化
  • 网站被抄袭怎么投诉怎么制作链接网页
  • 怎么创造软件app网站seo方法
  • 网站网站制作公司哪家好百度网盘登录入口网页版
  • 福建网站开发速成班域名ip查询入口
  • 给黄网站做壳子冲会员淘宝付费推广有几种方式