【优先算法】滑动窗口 --(结合例题讲解解题思路)(C++)

news2025/1/2 14:01:35

目录

​编辑

1.什么是滑动窗口?

 2. 滑动窗口例题

 2.1 例题1:长度最小的子数组

 2.1.1 解题思路

 2.1.2 方法一:暴力枚举出所有的子数组的和

 2.1.3 方法二:使用 “同向双指针” 也就是滑动窗口来进行优化

 2.2 例题2:无重复字符的最长子串

2.2.1 方法一:暴力枚举+哈希表(判断字符是否重复出现)

2.2.2 利用规律,使用“滑动窗口”来解决


1.什么是滑动窗口?

滑动窗口是两个指针,向着一个方向,不会退,像一个窗口般的移动。

 2. 滑动窗口例题

 2.1 例题1:长度最小的子数组

[力扣-长度最小的子数组]icon-default.png?t=O83Ahttps://leetcode.cn/problems/minimum-size-subarray-sum/description/ 

 2.1.1 解题思路

 2.1.2 方法一:暴力枚举出所有的子数组的和

这种时间复杂度太高,为O(n^2),解法太lou。有逼格的解法请看解法二 

 2.1.3 方法二:使用 “同向双指针” 也就是滑动窗口来进行优化

 

 2.2 例题2:无重复字符的最长子串

力扣-无重复字串的最长子串icon-default.png?t=O83Ahttps://leetcode.cn/problems/longest-substring-without-repeating-characters/description/ 

2.2.1 方法一:暴力枚举+哈希表(判断字符是否重复出现)

 时间复杂度为O(N^2),同样这个方法我们不讲解,没有任何学习价值,最佳解法请看解法二。

2.2.2 利用规律,使用“滑动窗口”来解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2267812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS Code 从命令行启动

在 VS Code 中,code 命令允许你在命令行中快速打开文件、文件夹或新窗口。 安装 原本地址:https://code.visualstudio.com/docs/setup/mac 使用 使用 code 命令 打开文件:你可以通过在命令行输入 code 文件名 来直接打开一个文件。 打开文…

微服务-配置管理

文章目录 1.什么是配置管理2.配置共享添加共享配置拉取共享配置 3.配置热更新添加配置到Nacos配置热更新 4.动态路由监听Nacos配置变更 1.什么是配置管理 到目前为止我们已经解决了微服务相关的几个问题: 微服务远程调用微服务注册、发现微服务请求路由、负载均衡…

ArrayList 和LinkedList的区别比较

前言 ‌ArrayList和LinkedList的主要区别在于它们的底层数据结构、性能特点以及适用场景。‌ArrayList和LinkedList从名字分析,他们一个是Array(动态数组)的数据结构,一个是Linked(链表)的数据结构&#x…

MySQL--》如何在SQL中巧妙运用函数与约束,优化数据处理与验证?

目录 函数使用 字符串函数 数值函数 日期函数 流程函数 约束 外键约束 约束规则 函数使用 函数是指一段可以直接被另一段程序调用的程序或代码,在mysql当中有许多常见的内置函数,接下来开始对这些内置函数及其作用进行简单的讲解和使用&#xf…

一文大白话讲清楚CSS盒子模型和块级格式化上下文(BFC)

一文大白话讲清楚CSS盒子模型和块级格式化上下文(BFC) 1.啥是个CSS盒子 鞋盒你家总有吧,方方正正,有长度有高度。css盒子跟这个八九不离十当我们编写html页面时,写了很多的元素,比如"div",&quo…

Docker 快速搭建 GBase 8s数据库服务

1.查看Gbase 8s镜像版本 可以去到docker hub网站搜索:gbase8s liaosnet/gbase8s如果无法访问到该网站,可以通过docker search搜索 docker search gbase8s2.拉取Gbase 8s镜像 以下演示的版本是目前官网最新版本Gbase8sV8.8_3.5.1 docker pull liaosn…

密钥登录服务器

1. 生成 SSH 密钥对 如果您还没有生成密钥对,可以使用以下命令生成: ssh-keygen 在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件:id_rsa 为私钥,id_rsa.pub 为公钥。 在提示时,您可…

王佩丰24节Excel学习笔记——第二十讲:图表基础

【以 Excel2010 系列学习,用 Office LTSC 专业增强版 2021 实践】 【本章技巧】 课件图片有问题,不能随隐藏熟悉各个图表小部件的功能,需要修改都是选中右键进行更改。 一、认识图表中的元素 图表标题:主坐标(横坐标&…

华为交换机配置本地端口流量镜像

端口镜像(Port Mirroring)是网络监控的一种重要技术,通过复制流经特定端口的报文,并将其传送到指定的观察端口,以便对网络流量进行分析和监控。下面将详细介绍如何在华为交换机上配置本地端口镜像,以N:1镜像…

IDEA设置作者信息 日期等

file -> setting 或 ctrl alt s找到如下 然后添加注释即可 可以直接编辑5处的文字,在 author 后放自己的名字即可 /*** author 你的名字* date ${DATE} ${TIME})*/当然 整体不止这些 ,看下面的描述中,还有很多其他选项 也可以 4 这…

【stm32can】

can时钟 can波特率计算(位同步内容) ss是固定的1tq, pts,pbs1,pbs2是用户设定值 同步时间段的理解有误? 原文出处 数据帧 遥控帧

【论文笔记】Contrastive Learning for Sign Language Recognition and Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Contrastive Learning for…

springboot514基于SpringBoot的家电销售展示平台(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装家电销售展示平台软件来发挥其高效地信息处理的作用&#x…

【探花交友】day03—MongoDB基础

目录 课程介绍 1、通用设置 1.1 需求分析 1.2 查询通用设置 1.2 陌生人问题 1.3 通知设置 1.4 黑名单管理 2、MongoDB简介 1.1、MongoDB简介 1.2、MongoDB的特点 1.3 数据类型 3、MongoDB入门 2.1、数据库以及表的操作 2.2、新增数据 2.3、更新数据 2.4、删除数…

uniapp不能直接修改props的数据原理浅析

uniapp不能直接修改props的数据 Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the props value. Prop being mutated: "expectDeliveryAt" 避…

大数据存储Nosql

大数据存储Nosql复习篇 一、理论题、论述题 第1章 绪论 1、NoSQL数据库和关系数据库在设计目标上有何主要区别? (1)关系数据库 优势:以完善的关系代数理论作为基础,具有数据模型、完整性约束和事务的强一致性等特点,借助索引机…

ONLYOFFICE 协作空间 3.0 新功能详解

ONLYOFFICE 协作空间 3.0 新功能详解 书接上文: ONLYOFFICE 协作空间 3.0 发布: 新增虚拟数据房间、用户类型、OAuth 2.0 等更新 简单的介绍了一下 ONLYOFFICE 协作空间 3.0 的新功能,今天我们详细介绍一下这些新功能。 关于 ONLYOFFICE 协作空间 O…

ASP.NET |日常开发中常见问题归纳讲解

ASP.NET |日常开发中常见问题归纳讲解 前言一、性能问题1.1 数据库访问性能1.2 视图状态(在ASP.NET Web Forms 中) 二、安全问题2.1 SQL 注入2.2 跨站脚本攻击(XSS) 三、状态管理问题3.1 会话状态(Session …

ADC(三):注入组的使用

有关ADC的基础知识请参考标准库入门教程 ADC(三):注入组的使用 1、规则组软件触发注入组自动注入2、规则组外部触发注入组自动注入3、规则组软件触发注入组外部触发(TIM2_CC1)4、规则组软件触发注入组外部触发&#xf…

Debian 12 安装配置 fail2ban 保护 SSH 访问

背景介绍 双十一的时候薅羊毛租了台腾讯云的虚机, 是真便宜, 只是没想到才跑了一个月, 系统里面就收集到了巨多的 SSH 恶意登录失败记录. 只能说, 互联网真的是太不安全了. 之前有用过 fail2ban 在 CentOS 7 上面做过防护, 不过那已经是好久好久之前的故事了, 好多方法已经不…