经典滑动窗口试题(一)

文章目录
- 一、将x减到0的最小操作数
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
- 二、无重复的最长子串
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
- 三、最大连续为1的个数
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
- 四、长度最小的子数组
- 1、题目讲解
- 2、讲解算法原理
- 3、代码实现
一、将x减到0的最小操作数
1、题目讲解

2、讲解算法原理

3、代码实现
class Solution {
public:int minOperations(vector<int>& nums, int x) {int n=nums.size(),ret=0,sum=0,target,len=-1;for(int i=0;i<n;i++)ret+=nums[i];target=ret-x;if(target<0) return -1;for(int left=0,right=0;right<n;right++){sum+=nums[right];while(sum>target)sum-=nums[left++];if(sum==target)len=max(len,right-left+1);}if(len==-1) return len;else return n-len;}
};
二、无重复的最长子串
1、题目讲解

2、讲解算法原理

3、代码实现
class Solution {
public:int lengthOfLongestSubstring(string s) {int n=s.size();int count[128]={0},len=0;for(int left=0,right=0;right<n;right++){count[s[right]]++;while(count[s[right]]==2)count[s[left++]]--;len=max(len,right-left+1);}return len;}
};
三、最大连续为1的个数
1、题目讲解

2、讲解算法原理

3、代码实现
class Solution {
public:int longestOnes(vector<int>& nums, int k) {int n=nums.size(),zero=0,len=0;for(int left=0,right=0;right<n;right++){if(nums[right]==0) zero++;while(zero>k)if(nums[left++]==0) zero--;}return len;}
};
四、长度最小的子数组
1、题目讲解

2、讲解算法原理

3、代码实现
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums){int n=nums.size(),len=INT_MAX;int sum=0;for(int left=0,right=0;right<n;right++){sum+=nums[right];while(sum>=target){len=min(len,right-left+1);sum-=nums[left];left++;}}return len==INT_MAX?0:len;}
};
相关文章:
经典滑动窗口试题(一)
📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、将x减到0的最小操作数1、题目讲解2、讲解算法原理3、代码实现 二、无重复的最长子串1、题…...
【paddlepaddle】
安装paddlepaddle 报错 ImportError: /home/ubuntu/miniconda3/envs/paddle_gan/bin/../lib/libstdc.so.6: version GLIBCXX_3.4.30 not found (required by /home/ubuntu/miniconda3/envs/paddle_gan/lib/python3.8/site-packages/paddle/fluid/libpaddle.so) 替换 /home/ubu…...
String 、StringBuffer 和 StringBuilder 的区别?
String 使用 String 声明一个字符串的时候,该字符串会存放在堆中的字符串常量池中。因为在java中所有的String 都是以常量表示,且由 final 修饰,因此在线程池中它的线程是安全的 且 不可变的 。每个 String 在被创建后就不再发生任何变化。 …...
【DevOps】Git 图文详解(六):Git 利器 - 分支
Git 利器 - 分支 1.分支 Branch2.分支指令 🔥3.分支的切换 checkout4.合并 merge & 冲突4.1 🔸 快速合并(Fast forward)4.2 🔸 普通合并4.3 处理冲突 <<<<<<< HEAD 5.变基 rebase 分支是从主…...
万界星空科技QMS质量管理系统介绍
QMS(Quality Management System)质量管理系统是五大基础系统之一,在工业企业中被广泛的应用,在质量策划、生产过程质量监督、体系审核和文档管理等业务上发挥着不可替代的作用。 一般制造业工厂现状:质量成本高&#x…...
C练习题_14
一、单项选择题(本大题共 20小题,每小题 2分,共 40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 以下叙述不正确的是() A.一个C源程序可…...
解决方案 | 政策与技术加持,法大大电子劳动合同让人事管理更省心
政策加持, 助力劳动合同电子化推广 近年来,国家人社部多次发文,明确电子劳动合同法律效力,鼓励推广电子劳动合同全面应用,积极引导、支持企业和劳动者依法规范订立电子劳动合同,优化人力资源社会保障公共服…...
Linux基础命令5
su——切换用户命令 例如,切换到stu用户底下 而切换到管理员的命令就是下图 切换完的区别就是 stu——root $——# 退出——exit 关机与重启命令 如果在右上角直接点x号,就相当于把电源拔断了,这样做的次数多了,有可能系统就…...
springboot(ssm中医学习服务管理系统 医学生在线学习平台Java(codeLW)
springboot(ssm中医学习服务管理系统 医学生在线学习平台Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或…...
springboot宠物领养系统-计算机毕设 附源码 44261
springboot宠物领养系统 摘 要 网络发布信息有其突出的优点,即信息量大,资源丰富,更新速度快等,很符合人们希望以捷、便利的方式获得最多最有效信息的要求。本系统就是一个网上宠物领养系统,为宠物爱好者提供一个信息…...
性能测试必备知识-使用MySQL存储过程构造大量数据:实例解析
在软件开发过程中,测试是一个不可或缺的环节。通过测试,我们可以发现并修复软件中的各种问题,提高软件的质量和稳定性。然而,手动编写大量的测试用例是一项耗时且容易出错的任务。为了解决这个问题,我们需要学会使用批…...
最新绿豆APP源码苹果CMS影视插件版本/原生JAVA源码+反编译开源+免授权
源码简介: 最新绿豆APP源码苹果CMS影视插件版本,它是原生JAVA源码反编译开源免授权,绿豆影视对接苹果CMS,它可以支持多功能自定义DIY页面布局。 1、新版绿豆视频APP视频6.1插件版反编译指南及教程 2、后端插件开源,可…...
SPSS多元对应分析
前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…...
Rust语言特性探秘:宏的魔力
大家好!我是lincyang。 今天我们继续深入探讨Rust语言中的一个有趣而强大的特性——宏(Macros)。 宏在Rust中扮演着特殊的角色,不仅提高了代码的灵活性,还增强了代码的可重用性。接下来,我们会通过具体的…...
2023最全的Web自动化测试介绍
做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP。 有的人可能就会说,我没这个Java基础,没有Selenium基础,能行吗?测试虽然属于计算机行业,但其实并不需要太深入的编程知识&…...
Unity 控制物体透明度变化
1.需求 给物体绑定一个脚本,这个脚本实现物体的透明度渐变变化,并且可以重置回原来的颜色。物体为Unity自带的材质Shader为Standard。 2.代码 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Transpare…...
django及DRF流程源码分析
Django执行流程: 1.nginx作为接入层,通过反向代理,监听80端口获取请求连接 2.将请求交给wsgi server 3.wsgi server调用django的wsgi.py 处理请求 4.WSGIHandler的__call__函数就是整个逻辑处理流程 5.WSGIHandler __init__中的加载中间件,对request对象…...
Ajax入门-Express框架介绍和基本使用
电脑实在忒垃圾了,出现问题耗费了至少一刻钟time,然后才搞出来正常的效果; 效果镇楼 另外重新安装了VScode软件,原来的老是报错,bug。。; 2个必要的安装命令; 然后建立必要的文件夹和文件&…...
Linux加强篇001-部署Linux系统
目录 一、前言 1.1准备工具 1.2安装配置VM虚拟机 1.3安装软件 1.4系统初始化进程 1.5重置root密码 二、巩固练习 1.为什么建议读者在下载系统文件后先进行校验而不是直接安装呢? 2.使用虚拟机安装Linux系统时,为什么要先…...
LeetCode算法题解(动态规划)|LeetCode343. 整数拆分、LeetCode96. 不同的二叉搜索树
一、LeetCode343. 整数拆分 题目链接:343. 整数拆分 题目描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入…...
LittleBigMouse终极指南:彻底解决Windows多显示器鼠标移动不连贯问题
LittleBigMouse终极指南:彻底解决Windows多显示器鼠标移动不连贯问题 【免费下载链接】LittleBigMouse DPI Aware mouse move across screens 项目地址: https://gitcode.com/gh_mirrors/li/LittleBigMouse 你是否在使用4K和1080p显示器混搭时,经…...
BitNet b1.58-2B-4T-GGUF一文详解:GGUF格式适配、bitnet.cpp编译与加载逻辑
BitNet b1.58-2B-4T-GGUF一文详解:GGUF格式适配、bitnet.cpp编译与加载逻辑 1. 项目概述 BitNet b1.58-2B-4T-GGUF 是一款突破性的大语言模型,采用创新的1.58-bit量化技术。这个模型将传统神经网络权重压缩到仅使用-1、0、1三个值表示,平均…...
Arcade-plus:从音乐节奏玩家到专业谱面设计师的终极指南
Arcade-plus:从音乐节奏玩家到专业谱面设计师的终极指南 【免费下载链接】Arcade-plus A better utility used to edit and preview aff files 项目地址: https://gitcode.com/gh_mirrors/ar/Arcade-plus 你是否曾梦想将自己喜欢的音乐转化为令人着迷的节奏游…...
通过Taotoken CLI一键配置环境变量快速接入视频生成工具链
通过Taotoken CLI一键配置环境变量快速接入视频生成工具链 1. 准备工作 在开始使用Taotoken CLI配置视频生成工具链之前,需要确保已满足以下条件:Node.js 16或更高版本已安装在开发环境中,这是运行Taotoken CLI的基础要求。团队成员应各自拥…...
STM32和STM32CubeMX实现遥控器控制, 保姆级教程
【背景】各位,现在无人车和机器人大发展,但是,大家也都看到了,在无人车和机器人能够自动控制之前,都是用遥控器来控制的。那么,实现一个遥控器的控制,就变得非常有必要。然而,实际情…...
GPX Studio终极指南:3分钟学会免费在线编辑GPS轨迹文件
GPX Studio终极指南:3分钟学会免费在线编辑GPS轨迹文件 【免费下载链接】gpxstudio.github.io The online GPX file editor 项目地址: https://gitcode.com/gh_mirrors/gp/gpxstudio.github.io 你是否经常需要处理GPS轨迹文件却苦于找不到合适的工具…...
突破二分查找局限!SIMD Quad 算法在不同平台展现卓越性能优势
查找算法选择在查找已排序数组中的某个值时,有线性查找和二分查找等算法。线性查找是逐个遍历数组元素,C 里用 std::find 函数实现。对于大型数组,二分查找更出色,它通过持续将搜索区间一分为二定位目标值,C 中 std::b…...
程序员离婚流程指南:你的代码、期权、知识产权和加班,都写在民法典婚姻法律里
你可能不知道,你每天敲的代码、手里的期权、甚至深夜加班的时间和强度,都可能成为离婚时财产分割和抚养权争夺中的关键因素。对于技术从业者来说,婚姻财产问题远比普通人想象的复杂。我一个帮助过多位程序员处理婚姻纠纷的律师,今…...
2026年4月AI大事件 汇总
2026年4月AI大事件 汇总 ● 3月31日: OpenAI官宣完成1220亿美元私募融资,投后估值达8520亿美元,由亚马逊、英伟达、软银领衔,月营收达20亿美元。● 4月2日: ① 微软宣布推出三款自研多模态AI模型(MAI-Voice-1、MAI-Transcribe-…...
PHP Swoole对接大模型长连接的7个致命陷阱:90%团队在第3步就崩溃了!
更多请点击: https://intelliparadigm.com 第一章:PHP Swoole对接大模型长连接的现状与挑战 当前,PHP 生态在高并发 AI 服务接入场景中正经历关键转型。Swoole 作为 PHP 原生协程化扩展,凭借其异步 I/O 和长连接能力,…...
