滑动窗口子串

devtools/2024/10/24 8:14:17/

文章目录

  • 滑动窗口
    • 一、无重复字符的最长子串
    • 二、找到字符串中所有字母异位词
  • 子串
    • 三、和为 K 的子数组
    • 四、滑动窗口最大值
    • 五、最小覆盖子串

滑动窗口

一、无重复字符的最长子串

题目链接
在这里插入图片描述
(方法一:暴力枚举)
在这里插入图片描述
在这里插入图片描述
(方法二:滑动窗口优化)
在这里插入图片描述
在这里插入图片描述

二、找到字符串中所有字母异位词

题目链接

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

子串

三、和为 K 的子数组

题目链接
在这里插入图片描述
方法一:前缀和+暴搜
在这里插入图片描述
方法二:前缀和+哈希优化

在这里我们知道找的是连续的区间和,也就是i 到 j 的和,这个和的计算方式是s[j] - s[i - 1],如果s[j] - s[i - 1] == k,那么i到j的区间和等于k,那么我们能不能把这个式子变一下,是s[i - 1] == s[j] - k,这样我们只需要把0 到 i - 1的前缀和存到hash表里面,看它到底存不存在就行,就不需要暴搜。
在这里插入图片描述

四、滑动窗口最大值

题目链接
在这里插入图片描述
在这里插入图片描述

五、最小覆盖子串

在这里插入图片描述
方法一:暴搜(时间超时)

这里超时的原因应该是没有用滑动窗口优化,所以时间超时了
在这里插入图片描述

方法二:哈希表+滑动窗口优化
在这里插入图片描述


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

相关文章

qt QPushButton详解

QPushButton是Qt Widgets模块中的一个基本控件,用于提供可点击的按钮。它是用户界面中最为常见和常用的控件之一,通过点击按钮,用户可以触发特定的应用程序操作。 重要方法 QPushButton(const QIcon &icon, const QString &text, QWi…

如何使用python seaborn进行复杂的数据可视化操作?

数据可视化是数据分析中至关重要的一部分,它能够帮助我们更直观地理解数据,发现潜在的模式和趋势。 Python作为一种强大的编程语言,拥有众多数据可视化库,其中Seaborn是一个基于Matplotlib的高级可视化库,特别适合用于统计数据的可视化。 本文将深入探讨如何使用Seaborn…

linux中wall-clock time 与CPU时间的关系

‌Wall-clock time与CPU时间的关系‌ ‌定义‌: ‌Wall-clock time‌:从进程开始运行到结束,系统时钟走过的总时间,包含进程阻塞和等待的时间。 ‌CPU时间‌:分为用户CPU时间和系统CPU时间,分别表示进程在…

php后端学习,Java转php

遇到前后端跨域 php解决跨域问题可以加上下面的代码: header(“Access-Control-Allow-Origin:*”); 并且查看自己的数据库信息是否连接成功。 从Java转php 个人感受php跟偏向前端, 写后端逻辑时没有像java又springboot工具方便。 但是和前端联调很方便…

列表、元组、集合、字典和 pandas 数据框(DataFrame)之间的数据转换

二、列表、元组、集合、字典和 pandas 数据框(DataFrame)之间的数据转换 在 Python 中,列表、元组、集合、字典和 pandas 数据框(DataFrame)是常见的数据结构,它们可以通过多种方式相互转换。每种数据结构…

PHP PDO:安全、灵活的数据持久层解决方案

PHP PDO:安全、灵活的数据持久层解决方案 PHP PDO(PHP Data Objects)是一个轻量级的、具有兼容接口的数据持久层抽象层。它提供了一个统一的API来访问多种数据库系统,如MySQL、PostgreSQL、SQLite、Oracle等。PDO扩展在PHP 5.1.0及以上版本中可用,并已成为PHP社区中处理数…

AI自主学习:未来的智能系统

什么是AI自主学习? AI自主学习是指人工智能系统通过自身的数据分析和环境交互来逐步提高自己的能力,而无需人工干预或明确的编程指令。这种能力被称为“自主学习”或“自我学习”,它使AI系统能够通过处理数据、观察结果并进行迭代改进来学习…

51单片机的家庭防盗报警系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块超声波模块按键、LED、蜂鸣器等模块构成。适用于多功能防盗报警系统等相似项目。 可实现功能: 1、LCD1602实时显示安全信息 2、人体红外传感器(按键模拟)检测是否有人接近 3、超声波传感器…