当前位置: 首页 > news >正文

Leetcode刷题详解——长度最小的子数组

1. 题目链接:209. 长度最小的子数组

2. 题目描述:

给定一个含有 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

提示:

  • 1 <= target <= 109
  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 105

3.解法(滑动窗口)

3.1算法思路

由于此问题分析的对象是「⼀段连续的区间」,因此可以考虑「滑动窗⼝」的思想来解决这道题。
让滑动窗⼝满⾜:从 i 位置开始,窗⼝内所有元素的和⼩于 target (那么当窗⼝内元素之和第⼀次⼤于等于⽬标值的时候,就是 i 位置开始,满⾜条件的最⼩⻓度)。
做法:将右端元素划⼊窗⼝中,统计出此时窗⼝内元素的和:
1.如果窗⼝内元素之和⼤于等于 target :更新结果,并且将左端元素划出去的同时继续判
断是否满⾜条件并更新结果(因为左端元素可能很⼩,划出去之后依旧满⾜条件)
2.如果窗⼝内元素之和不满⾜条件: right++ ,另下⼀个元素进⼊窗⼝。
请添加图片描述

3.2C++算法代码

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int n=nums.size();int left=0;int right=0;int len=INT_MAX;int sum=0;for(left=0,right=0;right<n;right++){sum+=nums[right];//进窗口while(sum>=target)//判断{len=min(len,right-left+1);//更新结果sum-=nums[left++];//出窗口}}return len==INT_MAX?0:len;}
};
http://www.lryc.cn/news/196268.html

相关文章:

  • 客流人数管理新趋势:景区客流采集分析系统的功能特点
  • 【仙逆】王林极限跑酷,藤厉自食恶果,仙逆战斗获好评,张虎命运被改写
  • 想要精通算法和SQL的成长之路 - 前缀和的应用
  • 如何让大模型自由使用外部知识与工具
  • 关注用户信息卡片
  • 【Java基础面试十八】、说一说重写与重载的区别
  • Linux文件管理(上)
  • docker 复习
  • React之事件机制与事件绑定
  • spark stream入门案例:netcat准实时处理wordCount(scala 编程)
  • Ansible基础及模块
  • Atlassian Confluence OGNL表达式注入RCE CVE-2021-26084
  • 【c语言】编译链接--详解
  • 国家开放大学 训练题
  • 【灵动 Mini-G0001开发板】+Keil5开发环境搭建+ST-Link/V2程序下载和仿真+4颗LED100ms闪烁。
  • 同为科技(TOWE)关于风力发电雷电防护的解决方案
  • gorm 中的事务运用
  • maven 新建模块 导入后 按Ctrl 点不进新建模块pom定义
  • idea使用debug无法启动,使用run可以启动
  • 进程的虚拟地址空间
  • 做web自动化测试遇到Chrome浏览器老是自动更新,怎么办 ? 这里提供两个解决办法 。
  • 腾讯HR面试
  • 过滤器(Filter)和拦截器(Interceptor)有什么不同?
  • Spring 注解 @Qualifier 详解
  • 实现更低功耗R5F51406BDNE、R5F51406ADFK、R5F51406ADFL、R5F51406AGFN搭载RXv2内核的32位微控制器
  • 通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
  • Redis数据结构之listpack
  • VMware 配置记录
  • 【Java基础面试十四】、 封装的目的是什么,为什么要有封装?
  • 阿里云2023年双十一优惠活动整理