【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中有效元素的个数

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

相关推荐
菜菜的顾清寒几秒前
力扣HOT100(49)动态规划 -- 打家劫舍
算法·leetcode·动态规划
葡萄城技术团队4 分钟前
观察生活:人是如何分词的
算法·生活
草莓熊Lotso5 分钟前
【Linux网络】深入理解 HTTP 协议(一):从基础概念到 URL 编码解码
linux·网络·c++·网络协议·http·软件工程
眠りたいです5 分钟前
现代C++:C++17中的新语言特性
开发语言·c++·c++17
一只旭宝7 分钟前
【C++入门精讲17】序列容器
开发语言·c++
Demon1_Coder8 分钟前
Day1-SpringAI-1.0.0版本
java·开发语言·前端
装不满的克莱因瓶9 分钟前
什么是特征分解?从数学定义到现实问题的映射
人工智能·数学·算法·机器学习·ai·特征分解
killerbasd13 分钟前
总结 6.1
算法
郝学胜-神的一滴14 分钟前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
开发语言·c++·qt·程序人生·用户界面