算法入门(一):滑动窗口 之 可变窗口-求最短 / 最长-数值计算 (Leetcode 209 / 713 / 2875 / 1004 / 2024)
📅 2026/6/30 23:38:36
👁️ 次浏览
算法入门一滑动窗口 之 可变窗口-求最短 / 最长-数值计算 Leetcode 209 / 713 / 2875 / 1004 / 2024可变窗口-求最短 / 最长模板 / 思维方式数值计算Leetcode 209Leetcode 713Leetcode 2875Leetcode1004 / 2024可变窗口-求最短 / 最长可变窗口的核心是维护一个始终满足条件的窗口扩展一般来说都是向右将最右侧的元素加入窗口做一些动作收缩到条件被破坏时将最左侧的元素移除直到条件重新满足统计统计一些窗口的数据例如窗口长度这类题目非常灵活没有固定代码模板只有思维模板题目分两种类型纯数值的简单情况字符串/哈希表/队列/栈/堆的复杂情况。模板 / 思维方式// 思维方式理解这个逻辑intleft0;for(intright0;rightn;right){// 1. 扩展窗口加入新元素窗口加入 nums[right];// 2. 收缩窗口直到窗口重新满足条件while(窗口不满足条件leftright){窗口移除 nums[left];left;}// 3. 统计此时窗口一定满足条件if(条件满足){统计当前窗口;}}数值计算Leetcode 209该题没法使用模板明确2 移除元素的动作 和3 统计量就可以了。intminSubArrayLen(inttarget,vectorintnums){intnnums.size();intminLenINT_MAX;intwindowSum0;intleft0;intright0;for(;rightn;right){windowSumnums[right];while(windowSumtarget){//满足条件minLenmin(minLen,right-left1);//更新结果windowSum-nums[left];//更新窗口left;//更新边界}}returnminLenn?minLen:0;}Leetcode 713遵循扩展条件统计的思考方式扩展 product *nums[right];条件当积大于等于k的时候窗口需要收缩统计当积严格小于k的时候统计该次right存在时的满足条件的长度累加起来。intnumSubarrayProductLessThanK(vectorintnums,intk){intnnums.size();longlongproduct1;intleft0;intright0;intres0;for(;rightn;right){product*nums[right];while(productkleftright){product/nums[left];left;}resright-left1;}returnres;}Leetcode 2875Leetcode209的扩展题。一般会考虑两轮就覆盖所有情况于是数组下标采取 % n 取modclassSolution{public:intminSizeSubarray(vectorintnums,inttarget){intnnums.size();intsum0;intleft0;intright0;intresINT_MAX;for(;rightn*2;right){sumnums[right%n];while(leftrightsumtarget){sum-nums[left%n];left;}if(sumtarget)resmin(res,right-left1);}returnresINT_MAX?-1:res;}};可惜只能通过 80 %的用例。如果情况是[1,2]target 7[1,2,1,2,1,2,1,2…]需要大于两组的和才能得到targer 所以不能只在 2n 范围内搜索。接下来要做出修改判断条件是否等于 target 变更为 target % total答案res需要加上 target / total * n 即多出来的组数 x 每一组的数量 。classSolution{public:intminSizeSubarray(vectorintnums,inttarget){//1. 计算总和longlongtotal0;for(intnum:nums)totalnum;//2. 滑动窗口,判断条件全部变为取模intnnums.size();intsum0;intleft0;intright0;intresINT_MAX;for(;rightn*2;right){sumnums[right%n];while(leftrightsumtarget%total){sum-nums[left%n];left;}if(sumtarget%total)resmin(res,right-left1);}//3. 结果记得也加上取模的变化returnresINT_MAX?-1:restarget/total*n;}};Leetcode1004 / 2024Leetcode1004 / 2024 是同一种题目 nums[]只有两种元素的情况下如何使用滑动窗口。
什么是 TypeScript 中的回调函数callback 函数定义为作为参数传递给另一个函数的函数,然后在外部函数内部调用该函数以完成所需的例程或操作。function outerFunction(callback: () > void) {callback();
}以下是开发者社区中在 TypeScript 中定义函数回调类型的…
📅 2026/6/30 23:38:36
Claude Code(15):CodeGraph - 给 AI 装上代码地图,少读文件、少烧 Token 一、CodeGraph解决什么问题? 二、架构一图流 三、安装 CodeGraph 四、接入 Claude Code(只做「接线」) 推荐:全局一键接线 手动配置(理解原理用) 仅当前项目生效(local 模式) 五、给项目建索…
📅 2026/6/30 23:36:35
Mate Engine虚拟角色引擎:模块化VRM桌面伴侣的技术实现方案 【免费下载链接】Mate-Engine A free Desktop Mate alternative with a lightweight interface and custom VRM support, though with more features. 项目地址: https://gitcode.com/gh_mirrors/ma/Mat…
📅 2026/6/30 23:36:35
告别低效!NX二次开发图层管理实战:批量操作与自动化技巧每次打开那个包含237个图层的模具装配文件时,李工都会下意识地皱眉——光是找到需要修改的5个关键图层就要花掉15分钟,更不用说批量调整显示状态了。这种场景对使用NX进行复…
📅 2026/7/1 0:50:49
摄影工作流革命:semi-utils批量水印工具的完整解决方案 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils
还在为海量照片的水印处理而烦恼…
📅 2026/7/1 0:50:49
1. 从代码到“赏金”:一个被忽视的技术变现路径干了十几年开发,从写业务逻辑到搞架构设计,路子都走了一遍。最近两年,身边不少朋友开始聊起一个话题:除了接外包项目、做独立产品,还有没有更“硬核”、更“来…
📅 2026/7/1 0:50:49
okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图文献综述 - Okbiye智能写作https://www.okbiye.com/ai/wxzs 一、文献综述写作痛点频发,okbiye 专属页面按创作逻辑分层布局
文献综述是论文里耗时最久、修改频次最高的板块,很…
📅 2026/7/1 0:50:49
1. 项目概述:为什么我们需要“砸壳”?在iOS开发和安全研究领域,“砸壳”是一个绕不开的核心技能。简单来说,iOS App Store上架的应用,都会被苹果加上一层“保护壳”,这层壳就是FairPlay DRM加密,…
📅 2026/7/1 0:50:49
Windows Defender终极管理指南:开源工具实现永久禁用 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control
你…
📅 2026/7/1 0:48:49
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/1 0:00:39
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/1 0:00:39
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/1 0:00:39
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/6/30 10:04:37
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/6/30 6:54:54
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/1 0:00:39
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/1 0:00:39
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/1 0:00:39