优选算法——滑动窗口2

优选算法——滑动窗口2

优选算法——滑动窗口

1.1004. 最大连续1的个数 III

题目描述

在这里插入图片描述

思路分析

这道题的核心是:找一个最长的子数组,其中最多包含 k 个 0

经典的 滑动窗口 问题。

为什么用滑动窗口?

  • 我们需要连续区间 → 滑动窗口天然适合
  • 窗口内维护「0 的个数 ≤ k」这个约束
  • 窗口扩张:右指针右移,遇到 0 就计数
  • 窗口收缩:当 0 的个数超过 k,左指针右移直到满足条件

算法流程

1. 初始化:left = 0, zeroCount = 0, maxLen = 0 2. 遍历数组,right 指针右移: - 如果 nums[right] == 0,zeroCount++ - 当 zeroCount > k 时,收缩左边界: - 如果 nums[left] == 0,zeroCount-- - left++ - 更新 maxLen = max(maxLen, right - left + 1) 3. 返回 maxLen 
在这里插入图片描述

代码实现

classSolution{public:intlongestOnes(vector<int>& nums,int k){int zero=0;int ret=0;for(int left=0,right=0;right<nums.size();right++){if(nums[right]==0) zero++;//进窗口while(zero>k)//判断if(nums[left++]==0) zero--;//出窗口 ret=max(ret,right-left+1);}return ret;}};

2.1658. 将 x 减到 0 的最小操作数

题目描述

在这里插入图片描述

给定一个整数数组 nums 和整数 x。每次操作可以从数组最左端或最右端移除一个元素,使 x 减去该元素的值。返回将 x 恰好减到 0 的最小操作数,无法实现则返回 -1。

示例:

输入:nums = [1,1,4,2,3], x = 5 输出:2 解释:移除最右端的 3,再移除最右端的 2,x = 5 - 3 - 2 = 0 

思路分析

逆向思维 + 滑动窗口

从两端取数 → 等价于找一个中间连续子数组,其和为 total - x

  • 设数组总和为 sum
  • 问题转化为:找最长的子数组,使其和为 sum - x
  • 最小操作数 = n - 最长子数组长度

为什么?

  • 两端取走的元素和 = x
  • 剩下中间的元素和 = sum - x
  • 操作数最少 → 中间剩余最长

算法流程

1. 计算 target = sum(nums) - x 2. 如果 target &lt; 0,返回 -1(总和都不够减) 3. 滑动窗口找和为 target 的最长子数组 4. 返回 n - maxLen(若 maxLen 有效) 
在这里插入图片描述

代码实现

classSolution{public:intminOperations(vector<int>& nums,int x){int sum =0;int cmp=0;int ret=-1;for(auto e :nums){ sum+=e;}int target=sum-x;if(target<0)return-1;for(int left=0,right=0;right<nums.size();right++){ cmp+=nums[right];//进窗口while(cmp>target)//判断{ cmp-=nums[left++];//出窗口}if(cmp==target)//更新结果 ret=max(ret,right-left+1);}if(ret==-1)return ret;elsereturn nums.size()-ret;}};

Read more

8个降AI率工具推荐!本科生高效降AIGC神器合集

8个降AI率工具推荐!本科生高效降AIGC神器合集

8个降AI率工具推荐!本科生高效降AIGC神器合集 AI降重工具:让论文更自然,让学术更安心 在当前高校学术规范日益严格的背景下,越来越多的本科生开始关注“论文降AIGC率”和“去AI痕迹”的问题。随着AI写作工具的广泛应用,许多学生在使用这些工具完成初稿后,发现论文的AIGC检测率偏高,影响了最终成绩。这时候,一款高效的AI降重工具就显得尤为重要。 优秀的AI降重工具不仅能够有效降低论文的AIGC率,还能在不改变原意的前提下,优化语言表达,使论文更加符合学术规范。同时,这些工具往往具备强大的查重功能,能帮助学生提前发现潜在重复内容,从而进行针对性修改。无论是面对学校要求的查重系统,还是国际通用的检测平台,这些工具都能提供可靠的支持。 工具名称主要功能适用场景千笔强力去除AI痕迹、保语义降重AI率过高急需降重云笔AI多模式降重初稿快速处理锐智 AI综合查重与降重定稿前自查文途AI操作简单片段修改降重鸟同义词替换小幅度修改笔杆在线写作辅助辅助润色维普官方查重最终检测万方数据库查重数据对比 千笔AI(官网直达入口) :https://www.qianbixiezuo.c

By Ne0inhk

对于VScode中Copilot插件使用卡顿问题的解决办法

copilot卡顿主要是网络和内存占用原因。 VScode内存优化解决办法: 结合链接和我补充的基本都可以解决。 解决VSCode无缘无故卡顿的问题_vscode卡顿-ZEEKLOG博客 在VScode中打开setting.json文件,打开方法ctrl+shift+p,输入Preferences: Open User Settings (JSON), 然后添加如下代码: { "search.followSymlinks": false, "git.autorefresh": false, "editor.formatOnSave": false } 结合链接和我补充的基本都可以解决。 VScode代理问题: vscode copilot长时间没反应_vscode中copilot总是卡住-ZEEKLOG博客 配置代理的话两种方法,上面是一种,推荐两种结合起来用(不冲突) 还是在setting.json文件中,添加如下代码: { "http.proxy": "http://127.

By Ne0inhk

使用LLama.cpp本地部署大模型

摘要         llama.cpp是一个基于C/C++开发的高效大语言模型推理工具,支持跨平台部署和Docker快速启动,核心功能是在有限的计算资源情况下本地部署使用大模型。本文介绍了通过Docker方式部署llama.cpp的步骤,包括如何下载模型、CPU/GPU配置及启动参数说明。llama.cpp提供Web UI界面和OpenAI兼容API,支持文本和多模态对话,对电脑配置要求不高,完全免费且私密,让普通用户也能轻松在本地运行大语言模型。 LLama.cpp简介        1. llama.cpp 是一个在 C/C++ 中实现大型语言模型(LLM)推理的工具         2.支持跨平台部署,也支持使用 Docker 快速启动         3.可以运行多种量化模型,对电脑要求不高,CPU/GPU设备均可流畅运行。         支持模型包含:llama系列,qwen系列,gemma系列,Falcon、Alpaca、GPT4All、Chinese LLaMA、Vigogne、

By Ne0inhk
PaperZZ 降重 / 降 AIGC 功能:如何把 “AI 痕迹 + 高重复率” 拧成 “可通过知网 / 维普的原创文本”?——2026 届毕业生的学术合规指南

PaperZZ 降重 / 降 AIGC 功能:如何把 “AI 痕迹 + 高重复率” 拧成 “可通过知网 / 维普的原创文本”?——2026 届毕业生的学术合规指南

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 (注:本文聚焦工具辅助学术写作的合规优化,所有内容需结合研究者原创思考使用,严格遵守学术诚信与院校规范) 一、论文提交前的 “双重焦虑”:你在为 “AI 痕迹 + 高重复率” 彻夜难眠? 论文提交前的崩溃,往往不是 “研究没做完”,而是卡在 “AI 生成痕迹被检测” 和 “重复率超标” 的双重困境里: * 用 AI 写的初稿,维普检测显示 AIGC 相似度 99.8%,被导师打回 “必须消除 AI 痕迹”; * 手动改了 3 遍,重复率从 35% 降到 28%,还是过不了学校 “≤20%” 的红线; * 改到最后,句子变得不通顺、专业术语全丢,

By Ne0inhk