【算法】滑动窗口(一)-长度最小的子数组

目录

一、题目介绍

二、算法原理

1.排必然非结果情

1.1.2区域

(1)预证

(2)已证区

2.滑动窗口

三、提交代


一、题目介绍

209. 长度最小的子数组 - 力扣(LeetCode)


二、算法原理

1.排必然非结果情况

1.1.2区域

(1)预证区

预证区排能确

(2)已证区

已证区排能确


2.滑动窗口

两指针排算情况 同向不退维护着 头尾同向滑动的窗口


三、提交代码

java 复制代码
public int minSubArrayLen(int target, int[] nums) {
    int n = nums.length, sum = 0, len = Integer.MAX_VALUE;
    for(int left = 0, right = 0; right < n; right++) {
        sum += nums[right]; //进窗口
        while(sum >= target) { //判断
            len = Math.min(len, right - left + 1); //更新结果
            sum -= nums[left++];
        }
    }
    return len == Integer.MAX_VALUE ? 0 : len;
}

相关推荐
阿维的博客日记33 分钟前
Hippo4j 线程池监控平台部署手册
java·spring boot·后端
南境十里·墨染春水2 小时前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
@insist1232 小时前
系统架构设计师-实时性评价、调度算法与内核架构选型
算法·架构·系统架构·软考·系统架构设计师·软件水平考试
C+++Python3 小时前
详细介绍一下Java泛型的通配符
java·windows·python
JosieBook3 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
一生了无挂4 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
李白的天不白5 小时前
使用 SmartAdmin 进行前后端开发
java·前端
swordbob5 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言
2601_951643776 小时前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势