Peter算法小课堂—蠕动区间

news2025/1/23 12:15:52

蠕动区间

蠕动区间(尺取法、双游标)是一个经典的优化算法。

我们以毛毛虫🐛举例说明

具体的,我们看题目

例题

最小区间

 这一题,我们用暴力法,复杂度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;

希望这些对大家有用,三联,必回 

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

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

相关文章

Three.js图案溶解shader

上图提供两种方式溶解显示 上面一排是根据现实的图案红色通道也就是r值进行溶解 下面一排提供额外的溶解纹理 可以通过简单更改呈现多种溶解图案 代码仓库 gitee b站账号&#xff1a;https://space.bilibili.com/374230437 interface IMapPath {map: string;dissolve?: string…

Oracle database 开启归档日志 archivelog

Oracle database 开启归档日志 archivelog 归档日志模式 (Archivelog Mode)。归档日志模式是一种数据库运行模式&#xff0c;它允许数据库将日志文件保存到归档日志目录中&#xff0c;以便在需要时进行恢复和还原操作。通过开启归档日志模式&#xff0c;可以提高数据库的可靠性…

2023年中国康养产业发展历程、65岁以上人口数量及市场规模分析[图]

​​康养产业在中国吸引了越来越多的资本入场&#xff0c;形成了以房地产业、保险金融业、生物及智能制造为核心的科创企业为代表的康养资本三大主力军。康养资本的快速涌入为康养产业注入了活力&#xff0c;具有资本密集特征和高科技含量的庞大康养产业正日趋成熟。 康养产业…

户外运动盛行,运动品牌如何利用软文推广脱颖而出?

全民健康意识的提升和城市居民对亲近自然的渴望带来户外运动的盛行&#xff0c;这也使运动品牌的市场保持强劲发展势头&#xff0c;那么在激烈的市场竞争中&#xff0c;运动品牌应该如何脱颖而出呢&#xff1f;下面就让媒介盒子告诉你&#xff01; 一、 分享户外运动干货 用户…

【vue+nestjs】gitee第三方授权登录【超详细】

项目场景&#xff1a; 前端使用vue3ts 后端使用nestjs 1.配置gitee第三方设置 1.找到账号设置 2.找到数据管理下的第三方应用 3.点击创建&#xff0c;进入配置 2.代码演示 特别注意: 如果你跟我一样是前后端分离的模式开发的&#xff0c;应用回调地址填写的应该是你的前…

MATLAB——神经网络参考代码

欢迎关注“电击小子程高兴的MATLAB小屋” %% I. 清空环境变量 clear all clc %% II. 训练集/测试集产生 %% % 1. 导入数据 load spectra_data.mat %% % 2. 随机产生训练集和测试集 temp randperm(size(NIR,1)); %打乱60个样本排序 % 训练集——50个样本 P_train NIR(…

Bootstrap Collapse的使用

1、效果图&#xff1a; 2、当点击B或C时&#xff0c;A自动收缩&#xff1a; 3、html代码&#xff1a; <div class"panel-group" id"accordion" role"tablist" aria-multiselectable"true"><div class"panel panel-de…

促进国内凝聚态物理理论与统计物理及交叉学科的学术交流及促进学科发展,与龙讯旷腾相约济南

全国凝聚态理论与统计物理学术会议旨在促进国内凝聚态物理理论与统计物理及交叉学科的学术交流及促进学科发展。自创办以来已成功举办20届&#xff0c;对提升我国物理学科的水平发挥了重要作用。第二十一届全国凝聚态理论与统计物理学术会议将于2023年10月20日-22日在济南召开&…

微信批量发朋友圈,多个号同步

近年来&#xff0c;随着数字营销的飞速发展&#xff0c;越来越多的企业开始将客户引至微信&#xff0c;并通过群发广告和发布朋友圈等方式进行产品推广&#xff0c;以实现高效率、低成本和良好的转化效果。随着号多起来了&#xff0c;朋友圈推广工作变得愈发繁琐&#xff0c;需…

手机拍照转机器人末端坐标(九点标定法)

1.打印标定纸&#xff0c;随机九个点 2.让UR机器人末端分别走到P1-P9九个点 在图示位置读取九个点的X&#xff0c;Y坐标 3.手机拍照&#xff08;固定点&#xff09; 测试可以随机拍一张&#xff0c;实用的话需要固定手机的拍照位置&#xff0c;得到的图片如下&#xff1a; 4.…

21.1 stm32使用LTDC驱动LCD--配置说明

本文讲解如何配置LTDC驱动LCD的参数配置&#xff0c;以及CubeMx参数配置说明 本文使用的是淘宝买的一块带电容触摸的液晶显示屏&#xff1a;5寸TFT液晶显示屏高清800*480免驱40P通用RGBIPS全视角彩屏GT911 说实话&#xff0c;价格还是相对挺便宜的&#xff0c;值得入手&#xf…

爱胜品YPS-1133DN系列打印机与奔图P3301DN打印机耗材更换的简单对比说明

速印机&#xff08;理想、荣大等&#xff09;、复印机&#xff08;夏普、理光、佳能、震旦等全系列&#xff09;、打印机、扫描仪、传真机、多媒体教学一体机、交互式电子白板、报警器材、监控、监考设备、特种安防设备维护及维修。吴中函 某用户的爱胜品YPS-1133DN Pro、爱胜品…

多货币一件铺货跨境电商商城开发

无论你身处世界的哪个角落&#xff0c;都能够畅享全球购物的便利。多货币一件铺货跨境电商商城是为了满足每个消费者的购物需求而精心打造的。无论你喜欢的是日本的时尚潮品、韩国的美妆产品&#xff0c;还是欧美的奢侈品和家居用品&#xff0c;我们都可以为你提供一站式购物服…

通讯录的实现(增删查改排序)

本课题模拟通讯录的实现&#xff0c;包括&#xff1a; 1.增加联系人的信息 2.删除联系人 3.查找联系人 4.修改联系人信息 5.对联系人进行排序 本节目录&#xff1a; 通讯录的实现样貌展示&#xff1a;这就算通讯录的菜单 下面对每个功能进行模块性讲解。 一、通讯录变量…

领英如何注册?2023超全面详细教程

领英是一家面向商业用户的全球最大的职业社交网站&#xff0c;据统计&#xff0c;Linkedln用户每月与网页的交互次数超过10亿次。对于跨境人来说&#xff0c;他更是作为一个开发客户、广告营销的工具&#xff0c;被称为跨境的“风口”。 一、领英被封原因 1、IP、设备问题 1&…

QT中使用QVTKOpenGLNativeWidget的简单教程以及案例,利用PCLVisualizer显示点云

先添加一个带有ui的QT应用程序。 一、在ui界面中添加QVTKOpenGLNativeWidget控件 先拖出来一个QOpenGLWidget控件 修改布局如下&#xff1a; 然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件&#xff0c;步骤如下&#xff1a; 右击QOpenGLWidget窗口&#xff0c;选…

Linux系统下的shell外壳

往期回顾: ⭐Linux系统常用指令(一) ⭐Linux系统常用指令(二) ⭐Linux系统常用指令(三) ⭐Linux系统常用指令(完) 本篇文章我们来深挖Linux的知识! Linux严格意义上说的是一个操作系统&#xff0c;我们称之为“核心&#xff08;kernel&#xff09; “ &#xff0c;但我们一般用…

技术路线决定出海方向:中国车企的全球市场密码

摘要&#xff1a;面对全球化的挑战,中国汽车企业站在了一个十字路口:选择大众市场还是豪华市场?背后涉及的不仅是消费者的购车偏好,更有技术路线和产业链的深层次支撑。从丰田的Prius到宝马的驾驶乐趣&#xff0c;不同的市场策略背后隐藏着怎样的全球化密码? 随着全球化浪潮的…

网络库OKHTTP(3)拦截器扩展,一个好用的网络请求监控工具Chuck

序、慢慢来才是最快的方法。 场景一 明明是服务端的接口数据错误&#xff0c;而QA&#xff08;测试&#xff09;第一个找到的可能是客户端开发的你&#xff0c;为什么这个页面出现错误了&#xff1f; 而作为客户端开发的你&#xff0c;可能要拿出测试机连上电脑&#xff0c;打…

ftp服务开启——windows

一、打开服务 1、打开控制面板——》选中程序和功能 2、 选择启用或关闭windows功能 3、全选FTP服务器&#xff0c;web管理工具里面的IIS管理控制台&#xff0c;一个都不能漏 4、全选 万维网服务下面的安全性的所有选项&#xff0c;最后点击确定 二、 IIS 配置 1、windows的…