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

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

相关推荐
keep_learning11121 小时前
Z-Image模型架构全解析
人工智能·算法·计算机视觉·大模型·多模态
黎雁·泠崖21 小时前
Java底层探秘入门:从源码到字节码!方法调用的中间形态全解析
java·开发语言
千里马-horse21 小时前
TypedArrayOf
开发语言·javascript·c++·node.js·napi
点云SLAM21 小时前
Boost中Graph模块中boost::edge_capacity和boost::edge_capacity_t
数据库·算法·edge·图论·最大团·最大流算法·boost库使用
五阿哥永琪21 小时前
Redis的常用数据结构
数据结构·数据库·redis
we1less21 小时前
[audio] AudioTrack (六) 共享内存使用分析
java·开发语言
CYTElena21 小时前
关于JAVA异常的笔记
java·开发语言·笔记·语言基础
YIN_尹21 小时前
【C++11】lambda表达式(匿名函数)
java·c++·windows
陳103021 小时前
C++:vector(2)
开发语言·c++
代码游侠21 小时前
学习笔记——HTML网页开发基础
运维·服务器·开发语言·笔记·学习·html