滑动窗口-209. 长度最小的子数组-leetcode
创始人
2025-05-30 07:11:15
0

209. 长度最小的子数组

目录

题目

题解

代码


题目

图片:

题解

target==7

left和right刚开始的时候在第一个位置,二者同时指向2,sum==2,length==1

然后,右指针开始移动,left指向2,right指向3,sum==2+3==5,length==2

右指针继续移动,指向1,sum==2+3+1==6,length==3

右指针继续移动,指向2,sum==2+3+1+2==8,length==4

此时符合条件sum>=target,改变minlen的值,minlen=min(minlen,length);

每一次遇到sum>=target的情况,left指针向右移动一位,开始一次新的查找。

这时,left指向3,right指向2sum==3+1+2==6,length==3

右指针继续向右移动一位,sum==3+1+2+4==10,length==4

这时,满足sum>=target,minlen==4

左指针向右移动一位,sum==1+2+4==7,length==3

此时满足sum>=target的条件,minlen==3

左指针向右移动一位,sum==2+4==6,length==2

右指针向右移动一位,sum==2+4+3==9,length==3

左指针向右移动一位,sum==4+3==7,length==2

满足条件,minlen==2

左指针继续向右移动一位,sum==3,不符合条件,左右指针到头了,查找结束,指针不再移动

返回所记录的最小长度minlen。

等等,以此类推……

代码

class Solution {public int minSubArrayLen(int target, int[] nums) {if (nums.length==0){return 0;}/*如果数组的长度为0,数组中没有元素,那么就不可能找到符合条件的子数组,就返回0*/int sum = 0;int left = 0;int minlen = Integer.MAX_VALUE;for (int right = 0; right < nums.length; right++) {/*左右指针,用右指针作为for循环进行移动*/sum+=nums[right];while (sum>=target){//如果符合条件,就移动左指针minlen=Math.min(minlen,right-left+1);sum-=nums[left];//移动左指针之前要减去sum中原先左指针指向的数值left++;}}return minlen==Integer.MAX_VALUE?0:minlen;//如果数组中始终没有满足条件的子数组,就返回0}
}

相关内容

热门资讯

广州华杯赛脱钩小升初 不接受个...  本报讯 (记者刘晓星)今年的“华杯赛”成绩在小升初录取后公布,基本上与小升初“脱钩”。然而,连日来...
最新或2023(历届)北京八十... 近日,坛子里的热心家长分享,八十中学正在接收最新或2023(历届)小升初简历,之前有家长分享需要三好...
最新或2023(历届)杭州小升...  3月  3月初,预备参与杭城民办初中自主招生的六年级学生,赶紧登陆各校官网预报名。不过,面向全省招...
最新或2023(历届)北京小升... 北京小升初推优几乎可以说是上名校“最靠谱”的途径,但是各区推优情况和规定不同,如何把握住整体的脉络呢...
最新或2023(历届)北京小升... 一.师达中学:  学费40000元/年,宿费3000元/年,餐费7700元/年  二.汇才中学:  ...
CompleteFuture异... CompleteFuture异步执行失败却返回成功 1、自定义线程池 @Configurat...
【Spring6】| Spri... 目录 一:Spring IoC注解式开发 1. 回顾注解 2. 声明Bean的四个注解...
最新或2023(历届)杭州小升...  3月  3月初,预备参与杭城民办初中自主招生的六年级学生,赶紧登陆各校官网预报名。不过,面向全省招...
最新或2023(历届)北京小升...  再过两个月,小学就将开始进行入学信息采集工作。根据此前北京市教委发布的《关于最新或2023(历届)...
最新或2023(历届)广州玉岩...  最新或2023(历届)广州玉岩天健实验学校小升初招生简章包括最新或2023(历届)广州玉岩天健实验...
最新或2023(历届)海南小升... 省特长生总量将逐步减少  优质初中学校适当增招足球特长生  海南日报海口3月12日讯(记者郭景水见习...
最新或2023(历届)北京小升... 北京市教委发布的《最新或2023(历届)义务教育入学工作的意见》将正式实施,其中特长生招生部分的相关...
c语言的基础知识之结构体 目录前言结构体结构的自引用typedef函数结构体内存对齐修改默认对齐数位段什么是位段位段的内存分配...
OpenGL学习日志之深度测试 为什么需要深度缓冲区? 当绘制一个四边形的时候,由于我们绘制的时候是一个...
最新或2023(历届)北京小升... 再过两个月,小学就将开始进行入学信息采集工作。根据此前北京市教委发布的《关于最新或2023(历届)义...
天津市和平区教育局局长谈最新或...  近年来,和平区在区内各校全面推广义务教育现代化达标建设以及优秀教师交流、校长轮岗等制度,使义务教育...
安卓拍照、裁切、选取图片实践 安卓拍照、裁切、选取图片实践 前言 最近项目里面有用到裁切功能,没弄多复杂࿰...
最新或2023(历届)北京小升...  1、 听说师达风雨无阻?真的吗?雾霾天也要去?女孩子生理期也要去?  回答:估计这个问题应该是指体...
使用“Database Con... 使用“Database Configuration Assistant”(数据库配置助...
备战最新或2023(历届)天津...  最新或2023(历届)天津小升初政策已经公布,小升初各种考试基本都将取消。民办校将不再采用考试方式...