滑动窗口

7.19 滑动窗口

leetcode 不包含重复字符的最长子字符串

思路:关键字有重复字符,子字符串(连续)。考虑用map记录字符出现的次数。当发现有字符出现次数超过1,表示重复,则需要收缩左边界,更新全局变量res。

leetcode 滑动窗口最大值,窗口为k,求移动过程中每个窗口的最大值。

思路:考虑用deque实现,存储每个窗口最大值的index,这样既可以保证最大值的index在窗口内,也可以获得最大值本身。在窗口移动过程中,首先移除deque中不在窗口范围的index,之后移除比当前访问值小的index,这样deque的头就是本窗口最大值的下标。需要注意的是,只有当i>=k-1时,才开始记录最大值。

leetcode 求字符串s中包含字符串t的最小子串

思路:用map记录t中字符出现的次数。在遍历s的过程中,先向右扩展,发现当前的子串已经包含了所有的T中元素后,收缩左边界。直到当收缩到t中字符时,将count减一,移动左边界。用全局变量更新遍历过程中的最小子串长度和起始位置。

全部评论

相关推荐

淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务