【C++学习篇】滑动窗口--结合例题讲解思路

目录

[1. 例题:最小覆盖子串](#1. 例题:最小覆盖子串)

[1.1 解题思路](#1.1 解题思路)

[2. 方法一代码实现:用kinds来记录t中有效元素的种类,count来记录s中的有效元素种类](#2. 方法一代码实现:用kinds来记录t中有效元素的种类,count来记录s中的有效元素种类)

[3. 方法二:count来记录s中有效元素的个数](#3. 方法二:count来记录s中有效元素的个数)


ok,这是最后一期关于滑动窗口的学习章节了。本期我讲解的例题是-》最小覆盖子串

我个人建议,看不懂解析的可以看看我前面一期关于滑动窗口解析,因为这期的题是在上一期题目加深的一道题,理解上一期,本期题目就不再难了。

1.例题:最小覆盖子串

力扣--最小覆盖子串https://leetcode.cn/problems/minimum-window-substring/submissions/594529034/

这里我有两种方法,但是大体思路一致,唯一区别就在于是判断那一块儿,是记录有效元素的个数呢还是记录有效元素的种类个数。

1.1 解题思路

用两个数组来实现哈希表的功能,hash1来记录s中每个字符的出现次数,hash2来记录t中每个元素出现次数。

2.方法一代码实现:用kinds来记录t中有效元素的种类,count来记录s中的有效元素种类

3. 方法二:count来记录s中有效元素的个数

总体来说,这道题还是很考验技术的,有难度,建议大家结合上期滑动窗口例题来做学习哈,谢谢支持!

相关推荐
卡提西亚几秒前
一本通网站1122题:计算鞍点
c++·笔记·编程题·一本通
im_AMBER7 分钟前
Leetcode 47
数据结构·c++·笔记·学习·算法·leetcode
我命由我1234510 分钟前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
HLJ洛神千羽11 分钟前
C++程序设计实验(黑龙江大学)
开发语言·c++·软件工程
kyle~16 分钟前
算法数学---差分数组(Difference Array)
java·开发语言·算法
曹牧17 分钟前
C#:三元运算符
开发语言·c#
Jonathan Star35 分钟前
MediaPipe 在Python中实现人体运动识别,最常用且高效的方案是结合**姿态估计**(提取人体关键点)和**动作分类**(识别具体运动)
开发语言·python·分类
橘颂TA44 分钟前
机器人+工业领域=?
算法·机器人
滨HI01 小时前
C++ opencv拟合直线
开发语言·c++·opencv
沐浴露z1 小时前
详解JDK21新特性【虚拟线程】
java·开发语言·jvm