每日一练【长度最小的子数组】

一、题目描述

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

找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度如果不存在符合条件的子数组,返回 0 。

二、题目解析

经过观察示例,我们发现一个规律就是:比如示例1,2,3,1,2私塾相加之和大于target,这时如果再让右指针向右移动肯定是大于7,并且长度一定不是最小的,所以我们规避这样的情况,去让左指针++,先判断是否已经大于7,如果不大于那让右指针++,然后一直重复上述操作!

这时发现做右指针都向同一个方向移动,我们就称呼该算法就是“滑动窗口”!

三、原码

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int len = nums.size();int min = 0;int left = 0;int right = 0;int sum = nums[0];while(left<len && right<len){if(sum < target){right++;//判断特殊越界的情况if(right == len)break;sum += nums[right];}else{if(min == 0)min = right-left+1;else{if(right-left+1 < min)min = right-left+1;}sum -= nums[left];left++;}}return min;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/268345.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「Swift」Xcode多Target创建

前言&#xff1a;我们日常开发中会使用多个环境&#xff0c;如Dev、UAT&#xff0c;每个环境对应的业务功能都不同&#xff0c;但每个环境之间都只存在较小的差异&#xff0c;所以此时可以使用创建多个Target来实现&#xff0c;每个Target对应这个一个App&#xff0c;可以实现一…

人工智能数据集可视化统计分析工具:快速了解你的数据集

人工智能数据集可视化统计分析工具&#xff1a;快速了解你的数据集 简介特征示例报告安装用法 简介 Lightly Insights&#xff1a;可以轻松获取关于机器学习数据集基本洞察的工具&#xff0c;可以可视化图像数据集的基本统计信息&#xff0c;仅需提供一个包含图像和对象检测标…

【回眸】Tessy 单元测试软件使用指南(三)怎么打桩和指针测试

目录 前言 Tessy 如何进行打桩操作 普通桩 高级桩 手写桩 Tessy单元测试之指针相关测试注意事项 有类型的指针&#xff08;非函数指针&#xff09;&#xff1a; 有类型的函数指针&#xff1a; void 类型的指针&#xff1a; 结语 前言 进行单元测试之后&#xff0c;但凡…

轻材料绿建筑:气膜结构建筑的低碳环保

随着全球环保意识的逐渐增强&#xff0c;建筑行业也在积极寻求更加环保、低碳的设计和施工方案。在这一潮流中&#xff0c;气膜结构建筑以其轻盈、独特的设计成为了低碳环保建筑的代表之一。本文将深入探讨气膜结构建筑的轻材料特性以及其在低碳环保方面的良好表现。 轻材料轻建…

luceda ipkiss教程 47:导入gds文件来搭建器件

ipkiss中的器件至少得包含版图和端口&#xff0c;通过GDSCell函数导入版图文件再加上端口&#xff0c;就可以搭建一个简单的器件&#xff1a; 如&#xff0c;已有版图文件 mmi.gds&#xff1a; 通过代码&#xff1a; from si_fab import all as pdk from ipkiss3 import all …

在我们日常生活有哪些东西是激光切割机做的

激光加工技术是当前最先进的切割技术&#xff0c;在工业生产中&#xff0c;能解决许多常规方法无法解决的难题&#xff0c;而且应用非常广。让人意想不到的是&#xff0c;很多生活中常见的物品&#xff0c;都是靠激光切割完成的。 它具备精密制造、柔性切割、异形加工、一次成型…

数据结构之选择排序

目录 直接选择排序 选择排序的时间复杂度 堆排序 向上调整算法 向下调整算法 向上调整算法建立堆 向下调整算法建立堆 堆排序整体代码 堆排序的时间复杂度 直接选择排序 在之前讲插入排序时&#xff0c;我们讲了这样的一个应用场景&#xff0c;我们在斗地主摸牌时&…

Linux安装MySQL数据库系统

1、MySQL的编译安装。 1.1、准备工作 &#xff08;1&#xff09;为了避免发生端口冲突、程序冲突等现象&#xff0c;建议先查询MySQL软件的安装情况&#xff0c;确认没有使用以RPM方式安装的mysql-server、mysql软件包&#xff0c;否则建议将其卸载。 [rootlocalhost ~]# rp…

HCIP---RSTP/MSTP

文章目录 目录 文章目录 前言 一.RSTP诞生背景 二.RSTP对比STP的快速收敛机制 端口角色变化 接口状态变化 RSTP-BPDU 指定端口- P/A机制 BPDU发送变化 端口状态快速切换 优化拓扑变更机制 三.MSTP MSTP诞生背景 MSTP相关概念 MSTP配置 总结 前言 STP协议虽然能够解决环…

Weblogic 数据库连接池溢出解决方法

引言 在信息运维工作中发现&#xff0c;由于部分应用系统编写的代码不够健壮&#xff0c;对于数据库连接没有及时进行回收处理&#xff0c;造成Weblogic数据库连接池溢出&#xff0c;影响系统的稳定运行。其实Weblogic提供了数据库连接的回收机制&#xff0c;可以将超过配置时…

企业举办年会,可以邀请哪些媒体进行宣传?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 年关将至&#xff0c;筹办年会成为每个企业必做的事情&#xff0c;也是大家非常期待的年终大会&#xff0c;在我们策划年会时候&#xff0c;也要抓住最后宣传的机会。那么企业举办年会时…

MyBatis-Plus - 论自定义 BaseMapper 方法『逻辑删』失效解决方案

问题描述 在上一篇我们讲过 MyBatis-Plus - 论 1 个实体类被 N 个DAO 类绑定&#xff0c;导致 MP 特性&#xff08;逻辑删&#xff09;失效的解决方案-CSDN博客 所以在这个基础上&#xff0c;我们可以很好定位到源码的分析位置。 但是今天这个问题就更奇怪了&#xff0c;已经…