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

devtools/2025/1/22 11:32:14/

目录

1. 例题:最小覆盖子串

1.1 解题思路 

2. 方法一代码实现:用kinds来记录t中有效元素的种类,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中有效元素的个数 

 

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


http://www.ppmy.cn/devtools/152586.html

相关文章

Graylog采集MySQL慢日志实战

文章目录 前言一、MySQL慢日志0. 慢查询相关语句1. 检查MySQL是否开启慢日志及慢查询保存位置2. 检查慢查询阈值3. 未使用索引是否开启记录慢查询日志4. 查看mysql.slow_log表结构及字段含义5. 慢查询记录两种情况示例 二、graylog采集慢查询日志1. 采集思路2. 创建Sidecar配置…

【Day23 LeetCode】贪心算法题

一、贪心算法 贪心没有套路,只有碰运气(bushi),举反例看看是否可行,(运气好)刚好贪心策略的局部最优就是全局最优。 1、分发饼干 455 思路:按照孩子的胃口从小到大的顺序依次满足…

C# 以管理员方式启动程序全解析

引言 在 Windows 应用程序开发的领域中,C# 语言凭借其强大的功能和广泛的适用性,被众多开发者所青睐。然而,在实际的开发过程里,我们常常会遭遇这样的情况:程序需要访问特定的系统资源,像是系统文件夹、注…

springboot基于微信小程序的健康管理系统

Spring Boot 基于微信小程序的健康管理系统 在现代快节奏生活中,人们愈发关注自身健康,Spring Boot 基于微信小程序的健康管理系统应运而生,它将便捷的移动端体验与强大的后端技术相结合,为用户打造了个性化、全方位的健康管理助手…

MySql字段的值是以逗号隔开的另一个表的主键关联查询

查询sql SELECT s.student_id, s.name, c.name as course_name FROM student s INNER JOIN course c ON FIND_IN_SET(c.course_id, s.course_id) > 0 WHERE 1 1;相似sql -- 翻译(需要带条件,可用于字典翻译,但条件需要注意唯一性&#…

`Port: Direct Attach Copper` 和 `Port: Twisted Pair`

目录标题 这些端口类型的来源结论1. **Intel Network Interface Cards (NICs)**2. **Broadcom / Avago Technologies**3. **Mellanox Technologies (现为 NVIDIA)**4. **Chelsio Communications**5. **Realtek**6. **Netgear / TP-Link / ASUS**总结 你提到的 Port: Direct Att…

pip 相关

一劳永逸法(pip怎么样都用不了也更新不了): 重下python(卸载旧版本):请输入访问密码 密码:7598 各版本python都有,下3.10.10 python路径建立,pip无法访问方式: 访问pip要…

idea 如何安装 github copilot

idea 如何安装 github copilot 要在 IntelliJ IDEA 中安装 GitHub Copilot,可以按照以下步骤操作: 打开 IntelliJ IDEA: 启动 IntelliJ IDEA。 打开插件管理器: 点击菜单栏中的 File。 选择 Settings(Windows/Linux)或 Prefere…