Peter算法小课堂—蠕动区间
蠕动区间
蠕动区间(尺取法、双游标)是一个经典的优化算法。
我们以毛毛虫🐛举例说明

具体的,我们看题目
例题
最小区间

这一题,我们用暴力法,复杂度O(N^2)
先给出暴力法代码
int ans=n+1;
for(int tail=0;tail<n;tail++){int sum=0;for(int head=tail;head<n;head++){sum+=x[head];if(sum>=m){ans=min(ans,head+1-tail);break;}}
}
cout<<ans<<endl;
我们看一下蠕动区间怎么写

上面有注释,大家看不明白就私信哦
收集三原色
这道题更难一点……

数据结构
string x[N];
map<string,int> cnt;
set<string> rgb;
rgb.insert("red");
rgb.insert("green");
rgb.insert("blue");
主体部分
int sum=0,ans=n+1;
int tail=0,head=0;
while(1){while(head<n&&sum<3){string color=x[head++];if(!rgb.count(color)) continue;++cnt[color];if(cnt[color]==1) sum++;}if(sum<3) break;ans=min(ans,head-tail);string color=x[tail++];if(!rgb.count(color)) continue;--cnt[color];if(cnt[color]==0) sum--;
}
cout<<ans<<endl;
希望这些对大家有用,三联,必回
相关文章:
Peter算法小课堂—蠕动区间
蠕动区间 蠕动区间(尺取法、双游标)是一个经典的优化算法。 我们以毛毛虫🐛举例说明 具体的,我们看题目 例题 最小区间 这一题,我们用暴力法,复杂度O(N^2) 先给出暴力法代码 int ansn1; for(int tail…...
Vant和ElementPlus在vue的hash模式的路由下路由离开拦截使用Dialog和MessageBox失效
问题复现 ElementPlus:当点击返回或者地址栏回退时,MessageBox无效 <template><div>Element Plus Dialog 路由离开拦截测试</div><el-button type"primary" click"$router.back()">返回</el-button>…...
上海市通过区块链技术攻关 构建数字经济可信安全技术底座
日前,上海市印发《上海区块链关键技术攻关专项行动方案(2023—2025年)》(以下简称《行动方案》),提出到2025年,在区块链体系安全、密码算法等基础理论以及区块链专用处理器、智能合约、跨链、新…...
Java 面试题
昨天面试了两个Java开发程序员,问了一些问题,回答的不是很好,看看大家的回答如何,可以在评论区回复,测试下自己的水平。 A程序员: 1. 自我介绍一下; 2. 企业级和互联网行业都有那些项目经验,简…...
layui 表格 展开
一、表格嵌套表格(手风琴打开) <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>设备上下线统计</title><script type"text/javascript" src"../../../l…...
[尚硅谷React笔记]——第4章 React ajax
目录: 脚手架配置代理_方法一 server1.js开启服务器server1:App.js解决跨域问题:脚手架配置代理_方法二 server2.js开启服务器server2第一步:创建代理配置文件编写setupProxy.js配置具体代理规则:App.js运行结果&a…...
Richard Stallman 正在与癌症作战
导读为了纪念 GNU 项目成立 40 周年,自由软件基金会(FSF)已计划在 10 月 1 日(即GNU 40)为家庭、学生以及美国的其他人群组织一场黑客马拉松活动。 活动之前,GNU 项目于 9 月 27 日迎来了 40 岁生日&#…...
MathType7.4最新免费版(公式编辑器)下载安装包附安装教程
MathType是一款专业的数学公式编辑器,理科生专用的必备工具,可应用于教育教学、科研机构、工程学、论文写作、期刊排版、编辑理科试卷等领域。可视化公式编辑器轻松创建数学方程式和化学公式。兼容Office Word、PowerPoint、Pages、Keynote、Numbers 等7…...
如何支持h.265视频
前言 略 h.265视频 h.265是一种视频编码格式。 随着视频编码技术的发展,相比H.264, H.265同等画质体积仅为一半、带宽占用省一半、画质更细腻等诸多优势。 但Web浏览器还不支持H.265的解码播放,因此基于Web Assembly(封装FFmpeg)、JS解封装、Canvas投…...
vue 放大镜(简易)
目录 zoom组件 <template><div class"pic-img"><div class"img-container"><img ref"img" load"imgLoaded" :src"url" :style"overlayStyle" error"imgerrorfun"/><div cl…...
【计算机网络】第一章——概述
个人主页直达:小白不是程序媛 系列专栏:计算机网络基础 目录 前言 计算机网络概述 概念 功能 组成 分类 标准化工作 性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时延RTT 利用率 分层 为什么要分层? 分层的基本原则&am…...
vue实现在页面拖拽放大缩小div并显示鼠标在div的坐标
1、功能要求: 实现在一个指定区域拖拽div,并可以放大缩小,同时显示鼠标在该div里的坐标,如图可示 缩小并拖动 2、实现 <div class"div_content" ref"div_content"><div class"div_image" id"…...
LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)
示例 -- io模块是lua原生模块,LuatOS增加了一些API -- 请配合os模块一起使用-- 只读模式, 打开文件 local fd io.open("/xxx.txt", "rb") -- 读写默认,打开文件 local fd io.open("/xxx.txt", "wb") -- 写入文件,且截断为0字节 loc…...
【数据结构】线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈)
文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构,两者都是特…...
父组件可以监听到子组件的生命周期吗?
在 Vue 中,父组件是可以监听到子组件的生命周期的。Vue 提供了一些特殊的钩子函数,可以在父组件中监听子组件的生命周期事件。 以下是一些常用的方法来监听子组件的生命周期: 1:使用$emit: 在子组件的生命周期钩子函数中,使用 $emit 方法触发自定义事件,向父组件发送通…...
[开源]MIT开源协议,基于Vue3.x可视化拖拽编辑,页面生成工具
一、开源项目简介 AS-Editor 基于 Vue3.x 可视化拖拽编辑,页面生成工具。提升前端开发效率,可集成至移动端项目作为通过定义 JSON 直接生成 UI 界面。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 基于Vue可视化拖拽编辑,…...
【C++ Primer Plus学习记录】数组的替代品
目录 1.模板类vector 2.模板类array(C11) 3.比较数组、vector对象和array对象 模板类vector和array是数组的替代品。 1.模板类vector 模板类vector类似于string类,也是一种动态数组。您可以在运行阶段设置vector对象的长度,可…...
JSP免杀马
JSP免杀马 随着Java框架的进化和程序员的内卷,使用PHP编写的系统越来少,使用Java编写的系统越来越多。JSP马的使用越来越多,但是就目前来看,各大厂商对JSP马的查杀效果还是不尽人意。这里简单通过Java的反射机制和ClassLoader技术…...
2023-10-16 node.js-调用python-记录
NodeJS 作为后端,仅在需要时调用 Python 在某些特殊的场景下,比如复杂耗时的数据处理和运算时,我们可以用 Python 脚本编写,然后使用 Node 的子进程调用 Python 脚本即可,这样可以提升效率。如下代码,我们…...
Kotlin 设置和获取协程名称
1,设置写成名称 创建协程作用域是或者创建协程是有个上下文参数(context: CoroutineContext) 创建协程作用域 CoroutineScope(Dispatchers.IO CoroutineName("协程A"))//Dispatchers.IO根据实际情况设置可有可无 源码…...
手把手教你调参:MATLAB中ellipord和ellipap函数设计椭圆滤波器的完整避坑指南
手把手教你调参:MATLAB中ellipord和ellipap函数设计椭圆滤波器的完整避坑指南 在数字信号处理领域,滤波器设计一直是工程师们面临的核心挑战之一。特别是当我们需要在有限的硬件资源下实现陡峭的过渡带特性时,椭圆滤波器往往成为最优选择。不…...
兔抗ATR抗体亲和纯化,支持轻链专用二抗消除背景干扰
本文系统介绍由艾美捷Bethyl Laboratories推出的靶向人ATR蛋白的兔源多克隆抗体(货号A300-137A)的核心技术参数、标准化操作流程及功能应用要点,适用于DNA损伤应答、复制胁迫响应及细胞周期检查点调控等研究领域。 一、产品基本特性 该抗体为…...
别再为HADOOP_CLASSPATH报错头疼了!手把手教你搞定Flink 1.14.0 on Yarn的完整环境配置
从零到一:Flink 1.14.0 on Yarn环境配置全攻略与深度排错指南 1. 环境配置的底层逻辑与常见陷阱 每次看到"HADOOP_CLASSPATH not set"这类报错时,很多开发者第一反应是机械地复制粘贴解决方案。但真正理解背后的机制,才能从根本上避…...
企业级5G安全流量卸载方案与DPU加速实践
1. 企业级5G安全流量卸载方案概述在边缘计算和私有5G网络快速普及的当下,企业面临着前所未有的安全挑战。根据Palo Alto Networks最新威胁报告显示,针对5G核心网的AI驱动型攻击在2023年同比增长了217%,传统安全架构已难以应对这种实时演变的威…...
终极指南:PotplayerPanVideo - 一键解决网盘视频播放难题的完整教程
终极指南:PotplayerPanVideo - 一键解决网盘视频播放难题的完整教程 【免费下载链接】PotplayerPanVideo 利用第三方webdav网盘,实现在potplayer播放百度、迅雷、阿里云盘视频。 项目地址: https://gitcode.com/gh_mirrors/po/PotplayerPanVideo …...
终极清华PPT模板指南:如何快速制作专业学术演示文稿
终极清华PPT模板指南:如何快速制作专业学术演示文稿 【免费下载链接】THU-PPT-Theme 清华主题PPT模板 项目地址: https://gitcode.com/gh_mirrors/th/THU-PPT-Theme 还在为每次学术汇报的PPT设计发愁吗?😅 想象一下这个场景࿱…...
cnpy库:C++读取 npy/npz 文件
1. 动机 NumPy提供了接口函数可以把数据存入.npy文件,也可把多个数组存入.npzy文件。 cnpy库提供了在C中读写这些格式的接口函数 其动机来自于科学编程,其中大量数据是用 C 生成并用 Python 分析的。 写入 .npy 的优点是使用低级 C I/O(f…...
实现退货入库数据高效对接:从数据抓取到错误处理
退货入库对接YS销售出库(红字)-v:旺店通企业奇门数据集成到用友BIP在现代企业的运营中,数据的高效流动和精准对接是业务成功的关键。本文将聚焦于一个具体的系统对接集成案例——如何将旺店通企业奇门的数据无缝集成到用友BIP平台,实现退货入…...
FLUX.1-Krea-Extracted-LoRA图像生成实战:CNN架构原理与模型调优指南
FLUX.1-Krea-Extracted-LoRA图像生成实战:CNN架构原理与模型调优指南 1. 开篇:为什么选择这个模型? 如果你正在寻找一个能生成高质量真实感图像的AI模型,FLUX.1-Krea-Extracted-LoRA值得一试。这个基于CNN架构的模型在细节表现和…...
AMD显卡驱动终极瘦身指南:Radeon Software Slimmer完全教程
AMD显卡驱动终极瘦身指南:Radeon Software Slimmer完全教程 【免费下载链接】RadeonSoftwareSlimmer Radeon Software Slimmer is a utility to trim down the bloat with Radeon Software for AMD GPUs on Microsoft Windows. 项目地址: https://gitcode.com/gh_…...
