滑动窗口(五)、长度最小的子数组

ops/2024/11/28 7:09:52/

209. 长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 target

找出该数组中满足其总和大于等于 target 的长度最小的

子数组

  [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度 如果不存在符合条件的子数组,返回 0

示例 1:

输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。

示例 2:

输入:target = 4, nums = [1,4,4]
输出:1

示例 3:

输入:target = 11, nums = [1,1,1,1,1,1,1,1]
输出:0

 利用滑动窗口的思想,对该数组进行访问,左右指针卡出一个滑动区间,由于是一个正整数序列,所以right加入一个数这个区间肯定变大,left少一个数肯定会变小,里面这个单调性质来和target作比较,每次维护一个数组的最小长度即可。

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int left = 0, right = 0, sum = 0;int n = nums.size();int ret = INT_MAX;  // 出错点2、对于INT_MAX的使用,刚开始将ret最大值定义为数组长度,忽略了示例三情况while(right < n){// sum += nums[right++] 出错点1,提前对right进行了++操作,导致下面访问出错sum += nums[right];  while(sum >= target){ret = min(ret, right-left+1);sum -= nums[left++];}right++;        // 应该在访问right完成之后进行++}return ret == INT_MAX ? 0 : ret; }
};


http://www.ppmy.cn/ops/137289.html

相关文章

软件质量保证——软件测试流程

笔记内容及图片整理自XJTUSE “软件质量保证” 课程ppt&#xff0c;仅供学习交流使用&#xff0c;谢谢。 对于软件测试中产品/服务/成果的质量&#xff0c;需要细化到每个质量特性上&#xff0c;因此出现了较为公认的软件质量模型&#xff0c;包括McCall质量模型、ISO/IEC 9126…

使用 Spring AI + Elasticsearch 让 RAG 变得简单

作者&#xff1a;来自 Elastic Laura Trotta 使用私人数据定制你的人工智能聊天机器人体验。 Spring AI 最近将 Elasticsearch 添加为向量存储&#xff0c;Elastic 团队为其提供了优化。我们很高兴展示使用 Spring AI 和 Elasticsearch 向量数据库&#xff08;vector database&…

Z2400024基于Java+SSM+mysql+maven开发的社区论坛系统的设计与实现(附源码 配置 文档)

基于SSM开发的社区论坛系统 1.摘要2.主要功能3.系统运行环境4.项目技术5.系统界面截图6.源码获取 1.摘要 本文介绍了一个基于SSM&#xff08;Spring、Spring MVC、MyBatis&#xff09;框架开发的社区论坛系统。该系统旨在打造一个高品质的开发者社区&#xff0c;为开发者提供一…

TDengine(涛数)据库安装保姆级教程

涛思数据库TDengine 安装 参考网址: TDEngine环境安装、配置及使用经验总结-CSDN博客 安装TDengine数据库3.3版本和TDengine数据库可视化管理工具_tdengine 可视化工具-CSDN博客 # 解压安装包 tar -zxvf 安装包 # 修改hostname sudo hostnamectl set-hostname tdl # 查看…

python爬虫案例——猫眼电影数据抓取之字体解密,多套字体文件解密方法(20)

文章目录 1、任务目标2、网站分析3、代码编写1、任务目标 目标网站:猫眼电影(https://www.maoyan.com/films?showType=2) 要求:抓取该网站下,所有即将上映电影的预约人数,保证能够获取到实时更新的内容;如下: 2、网站分析 进入目标网站,打开开发者模式,经过分析,我…

相亲交友小程序项目介绍

一、项目背景 在当今快节奏的社会生活中&#xff0c;人们忙于工作和事业&#xff0c;社交圈子相对狭窄&#xff0c;寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式&#xff0c;在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…

python实现TCP服务端,支持对所有客户端的数据收发,支持终端自定义命令操作,提供clear命令一键断开所有的客户端连接

前言 python实现TCP服务端&#xff0c;支持对所有客户端的数据收发&#xff0c;支持终端自定义命令操作&#xff0c;提供clear命令一键断开所有的客户端连接 简单易懂&#xff0c;直接上码 源码 import socket import threadingclass TCPServer:# 修改此处ip 端口def __ini…

Go-protobuf consul注册备忘录

demo/demo_proto是server 想要运行就可以 前提是port要改对 windows必须是现在的ip地址8888端口才可以成功注册到consul consul的地址是localhost:8500 go run .//在demo_proto里面client在\demo\demo_proto\cmd\client里面 也是用go run .来运行