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

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

相关推荐
chenbingjie_c4 小时前
C++ 进阶核心知识点总结:模板、内存分区、new/delete、内存池
开发语言·c++
专注仿真5 小时前
ACM算法
算法·深度优先
Escalating_xu6 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
实心儿儿6 小时前
Qt — Qt 事件
开发语言·qt
周杰偷奶茶6 小时前
【Java】数据类型与变量
java·开发语言
code斗6 小时前
Java数据结构:堆详解
java·开发语言·数据结构
Frank_refuel6 小时前
【C++】Json库介绍和使用
c++
重生之小比特6 小时前
【C++进阶】map和set
java·开发语言·c++
lie..7 小时前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
傻啦嘿哟7 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习