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

目录

一、题目介绍

二、算法原理

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;
}

相关推荐
艾莉丝努力练剑几秒前
【AI大模型接入SDK】LLMManager类架构与智能指针选型
网络·c++·人工智能·学习·面试·架构
6Hzlia7 分钟前
【Classic 150 刷题计划】 LeetCode 209. 长度最小的子数组 | C++ 滑动窗口(毛毛虫算法)经典模板
c++·算法·leetcode
gis开发之家19 分钟前
Spring Boot 4 定时任务与异步线程池:从 @Scheduled 到高并发任务编排(生产级实战)
java·spring boot·后端·wpf·spring boot4
6Hzlia22 分钟前
【Classic 150 刷题计划】 LeetCode 28. 找出字符串中第一个匹配项的下标 | C++ 滑动窗口与子串比对
c++·算法·leetcode
传奇开心果编程1 小时前
【xilem0.4基础语法学与练】第48课 lists组件官方示例代码深度解析
学习·rust·前端框架
郑州光合科技余经理1 小时前
本地生活系统:多业务订单字段怎么分账本导出
java·开发语言·前端·数据库·uni-app·php·ai编程
YangYang9YangYan2 小时前
2026 校招审计风控岗位 JD 拆解,工具、专业能力与面试考点
java·大数据·人工智能·数据分析
传奇开心果编程4 小时前
【Rust入门知识点学与练】第24课:Trait 基础
开发语言·学习·rust
wuminyu7 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
GreenTea9 小时前
vLLM 与 SGLang KV Cache 底层实现机制深度调研报告
前端·后端·算法