解题思路

class Solution {public:string minWindow(string s, string t) {vector<int> need(128,0);//用need数组记录我们所需要的元素for(char c : t){need[c]++;}int needcount=t.size();int ii=0,jj=0;//定义滑动窗口string res;int length=INT_MAX;for(jj=0;jj<s.size();jj++){char c=s[jj];if(need[c]>0){//判断该字符是否是我们所需要的needcount--;}need[c]--;//-1/0if(needcount==0){while(ii<jj&&need[s[ii]]<0) {//缩减左窗口,排除多余元素need[s[ii++]]++;//1、ii要右移 2、need[s[ii]]数组也要释放}if(jj-ii+1<length&&ii<=jj){//记录长度,更新结果length=jj-ii+1;res=s.substr(ii,length);}//ii++寻找下一个满足条件的滑动窗口need[s[ii++]]++;//1、ii要右移 2、need[s[ii]]数组也要释放needcount++;}}return (length==INT_MAX)? "":res;//如果res始终没被更新过,代表无满足条件的结果}
};

最小覆盖子串_滑动窗口相关推荐

  1. 76. 最小覆盖子串(滑动窗口)

    给你一个字符串 s .一个字符串 t .返回 s 中涵盖 t 所有字符的最小子串.如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" . 注意: 对于 t 中重复字符 ...

  2. 无重复字符的最长子串_滑动窗口

    思路: 这道题主要用到思路是:滑动窗口. 其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求.所以,我 ...

  3. LeetCode 76. 最小覆盖子串(滑动窗口)

    1. 题目 给你一个字符串 S.一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", T = &quo ...

  4. 【LeetCode】【HOT】76. 最小覆盖子串(滑动窗口)

    [LeetCode][HOT]76. 最小覆盖子串 文章目录 [LeetCode][HOT]76. 最小覆盖子串 package hot;public class Solution76 {public ...

  5. c++ 数组的输入遇到特定字符停止输入_滑动窗口思维--挑战“无重复字符的最长子串”

    文章来源: 饭饭的Python学习之路 作者: 一粒米饭 今天要挑战的是"无重复字符的最长子串". 难度:中等 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 ...

  6. window两个窗口上下摆放_滑动窗口技巧

    读完本文,你可以去力扣拿下如下题目: 76.最小覆盖子串 567.字符串的排列 438.找到字符串中所有字母异位词 3.无重复字符的最长子串 ----------- 鉴于前文 二分搜索框架详解 的那首 ...

  7. 10.无重复字符的最长子串---使用滑动窗口方法和哈希表来解决

    一.解题方法:滑动窗口 1.本题可以使用双层for循环暴力破解,但是时间复杂度很高,会达到O(n^2),所以采用滑动窗口的方法来降低时间复杂度. 2.定义一个HashMap数据集合,其中key值为字符 ...

  8. 【LeetCode】无重复字符的最长子串【滑动窗口法】

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  9. leetcode 395. 至少有 K 个重复字符的最长子串(滑动窗口)

    给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k .返回这一子串的长度. 示例 1: 输入:s = "aaabb", ...

最新文章

  1. SpringBoot_日志-日志框架分类和选择
  2. 王义成:阿里云Redis服务助力游戏行业发展
  3. 你真的懂TensorFlow吗?Tensor是神马?为什么还会Flow?
  4. SQL查询语句 select
  5. ado.not--综合练习
  6. Apache Storm技术实战之3 -- TridentWordCount
  7. vue 高德轨迹自定义两点之间的颜色_vue 还是 react?这是一个问题
  8. 快速解决cmd命令行乱码问题
  9. 宝马冷却系统及电动冷却液泵部件(电子水泵)功能特性及标准
  10. 【时间之外】Chrome浏览器缓存解析
  11. 【AI语音】九联UNT402A_通刷_纯净精简_免费线刷固件包
  12. 「Mac」突然没声音,音量键不起作用——解决办法(大部分情况)
  13. axure如何页面滑动时广告位上移_Axure实现滚动广告效果
  14. 2015年 android 白皮书
  15. 【bzoj 1340】 Escape逃跑问题 【Baltic2007】
  16. java中byte(129)= -127?分析
  17. 今日芯声 | 嘘!你与谷歌语音助手的对话,可能已经泄露……
  18. AIX 网卡绑定聚合具体操作步骤
  19. 在用计算机辅助设计软件上,浅谈计算机辅助设计软件在室内设计中的应用
  20. sketchup 图片转模型_不用CAD描图迅速将图片转换成su模型

热门文章

  1. Log4j MDC Tomcat下报异常org.apache.log4j.helpers.ThreadLocalMap
  2. 中科燕园GIS外包案例之五---地下管线GIS管理信息系统
  3. ReflectionLabel(倒影控件)
  4. Parameter 对象
  5. Mysql时间格式转换
  6. 困了。还得背课文。变词型
  7. android扫码支付宝ofo,六大共享单车接入支付宝 ofo等免押金扫一扫可骑走
  8. [SQL Server玩转Python] 一.安装环境及T-SQL调用python脚本
  9. 常用Python代码
  10. 那些藏在你键盘里的emoji,背后到底有着怎样的故事?