滑动窗口子串

server/2024/10/24 6:06:26/

文章目录

  • 滑动窗口
    • 一、无重复字符的最长子串
    • 二、找到字符串中所有字母异位词
  • 子串
    • 三、和为 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/server/134362.html

相关文章

shell——正则表达式入门

目录 一、常规匹配 二、特殊字符 ^ $ . * 字符区间 \ 三、示例 shell中总是会需要对文本字符串做各种各样的剪切拼接等操作,除了 basename 和 dirname 这种简单的函数外,还可以用正则表达式,定义模糊匹配的筛选规则 一、常规匹配 管…

基于 vue 快速上手 React

1. Hook 函数 a. useState(响应式数据) import {useEffect,useState} fromm "react" function App(){const [data,setData]useState(0)const setClick()>{// 1.普通修改setData(data1)// 2.多次修改,因为 setData 是异步修改 …

Web3应用场景大揭秘:区块链技术的创新与突破

随着互联网技术的不断发展,Web3已经成为未来网络的一个重要趋势。这一阶段的互联网不仅仅是对信息的存取和传递,更是强调去中心化和用户控制的生态体系。区块链技术作为Web3的核心支柱,正通过各种应用场景推动互联网的创新与突破。本文将揭秘…

基于Matlab 疲劳检测系统

Matlab 疲劳检测系统【源码 GUI】 疲劳检查可以根据眼睛和嘴巴的张合度来判断是否疲劳 一、源代码 function varargout GUI(varargin) % GUI MATLAB code for GUI.fig % GUI, by itself, creates a new GUI or raises the existing % singleton*. % % …

安全见闻(3)——开阔眼界,不做井底之蛙

内容预览 ≧∀≦ゞ 安全见闻三:脚本程序与病毒声明导语脚本语言BAT/PowerShell脚本木马与宏病毒脚本病毒BIOS病毒 结语 安全见闻三:脚本程序与病毒 声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只…

faiss向量数据库实现rag

1)环境准备 !pip install sentence-transformers transformers faiss-gpu 2)代码实现 import faiss import numpy as np from sentence_transformers import SentenceTransformer from transformers import GPT2LMHeadModel, GPT2Tokenizer# 1. 加载 …

ubuntu clash 配合smartdns

下载安装clash 下载安装smartdns github 下载地址 配置 配置smartdns 设置smartdns配置端口,修改为没有占用的端口号,其他的都不用修改,官方推荐默认参数最佳! 编辑vim /etc/smartdns/smartdns.conf server-name smartdns b…

Mac book英特尔系列?M系列?两者有什么区别呢

众所周知,Mac book有M系列,搭载的是苹果自研的M芯片,也有着英特尔系列,搭载的是英特尔的处理器,虽然从 2020 年开始,苹果公司逐步推出了自家研发的 M 系列芯片,并逐渐将 MacBook 产品线过渡到 M…