news 2026/6/26 23:46:24

算法入门(一):滑动窗口 之 允许重置的窗口 (Leetcode 485 / 1446 / 674)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法入门(一):滑动窗口 之 允许重置的窗口 (Leetcode 485 / 1446 / 674)

算法入门(一):滑动窗口之允许重置的窗口

  • 允许重置的窗口
  • 模板
  • LeetCode 674 最长连续递增序列
  • LeetCode 1446 连续字符
  • LeetCode 485 最大连续1的个数

允许重置的窗口

例如 Leetcode 485 / 1446 / 674 这类题目,其本质是可变窗口

  • 条件一旦被破坏,左指针直接跳到右指针位置,不逐步收缩
  • 仔细来说,窗口的条件只和当前连续段有关。一旦破坏即重置,前面的窗口作废,而不需要用while逐步收缩。

下图体现了重置的过程:


  • 1 是初始状态;
    2 遇到了破坏条件;
    3 left移动到right,right重新开始滑动,建立新窗口。

模板

left=0;right=0;for(;right<n;right++){if()left=right;// 1.不满足条件重置maxRes=max(maxRes,right-left+1)// 2.计算连续长度}

LeetCode 674 最长连续递增序列

Leetcode 674 最长连续递增序列
按照模板思考:
1.寻找不满足条件:当nums[i]>=nums[i+1],即不满足递增序列
2.考虑边界条件:如果right从1开始,则right <n ,且要向前比较,即比较nums[right]和nums[right-1];
如果right从0开始,则right < n -1,此时是向后比较,即比较 nums[right] 和 nums[right+1];

// 方式1:和前面比(推荐)for(inti=1;i<n;i++){if(nums[i]>nums[i-1]){...}}// 方式2:和后面比for(inti=0;i<n-1;i++){if(nums[i+1]>nums[i]){...}}

3.更新连续长度

LeetCode 1446 连续字符

Leetcode 1446 连续字符
同上,寻找破坏条件,即s[right] != s[right-1],注意边界问题。

LeetCode 485 最大连续1的个数

Leetcode 485 最大连续1的个数
简单做的话,是可以用cnt来统计连续1的个数的。
因为本文旨在练习同类题目,于是给出模板写法:

classSolution{public:intfindMaxConsecutiveOnes(vector<int>&nums){intleft=0;intright=0;intcnt=0;intmaxCnt=0;for(;right<nums.size();right++){if(right>0&&nums[right]!=nums[right-1])// 向前比较{left=right;}cnt=right-left+1;maxCnt=max(cnt,maxCnt);}returnmaxCnt;}};

注意一定要if判断条件里一定要写 right > 0

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 23:46:17

3个技术突破让猫抓成为浏览器资源嗅探的终极选择

3个技术突破让猫抓成为浏览器资源嗅探的终极选择 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾遇到过这样的困境&#xff1a;在网上发现…

作者头像 李华
网站建设 2026/6/26 23:42:01

上位机YOLO推理优化实录:我是怎么把CPU推理速度提上去的

摘要&#xff1a;在没有独立显卡的工控机上跑YOLO&#xff0c;真的只能接受“一秒两帧”的龟速吗&#xff1f;未必。本文记录了一次真实的C#上位机CPU推理优化全过程&#xff1a;从ONNX Runtime默认配置的30ms/帧&#xff0c;通过模型量化、算子融合、内存复用与并行策略调整&a…

作者头像 李华
网站建设 2026/6/26 23:33:33

表单 + 流程双引擎落地「车间生产工单报工质检一体化系统」

表单 流程双引擎落地「车间生产工单报工质检一体化系统」 一、业务痛点背景 中小型制造车间传统工单管理存在大量线下痛点&#xff1a; 生产工单依靠纸质单据下发&#xff0c;班组长手工填写&#xff0c;数据易丢失、错填&#xff1b;工单无标准化审批流程&#xff0c;缺料…

作者头像 李华
网站建设 2026/6/26 23:31:19

2026手机免费制作证件照保姆级教程,换底色调尺寸全流程详解

2026 年日常办理学籍、求职、资格证书、出入境手续都会频繁用到各类证件照&#xff0c;线下照相馆拍摄单次收费普遍偏高&#xff0c;利用手机就能零成本自制合规证件照&#xff0c;覆盖换底色、调整标准尺寸、线上报名电子版、线下打印拼版等全部需求。本篇完整梳理手机免费制作…

作者头像 李华
网站建设 2026/6/26 23:30:57

如何快速将3DS游戏转换为CIA格式:新手终极指南

如何快速将3DS游戏转换为CIA格式&#xff1a;新手终极指南 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 你是否曾经下载了…

作者头像 李华
网站建设 2026/6/26 23:29:56

HCIP-二层综合实验

作业要求&#xff1a;1、内网IP地址使用172.16.0.0/16分配 2、sW1和sw2之间互为备份 3、VRRP/STP/VLAN/Eth-trunk均使用 4、所有pc均通过oHcP获取IP地址 5、ISP只能配置IP地址 6、所有电脑可以正常访问IsP路由器环回172.16.0.0/16 172.16.0.0/24 172.16.0.00 000000/26 vlan2:1…

作者头像 李华