力扣面试150 长度最小的子数组 滑动窗口

Problem: 209. 长度最小的子数组

参考题解

滑动窗口

Java 复制代码
class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int n = nums.length;
        int ans = n + 1;
        int sum = 0; // 子数组元素和
        int left = 0; // 子数组左端点
        for (int right = 0; right < n; right++) { // 枚举子数组右端点
            sum += nums[right];
            while (sum >= target) { // 满足要求
                ans = Math.min(ans, right - left + 1);
                sum -= nums[left++]; // 左端点右移
            }
        }
        return ans <= n ? ans : 0;
    }
}
相关推荐
垆边人似月.16 小时前
移动长度 k 子串使字符串变成回文
数据结构·算法
pride.li16 小时前
第12章 Python 教程-流程控制:循环结构
linux·服务器·python·算法
海绵宝宝转agent16 小时前
2026-10-16 4算法+1面经
算法
ShineWinsu17 小时前
对于JavaScript:初识JavaScript以及输入输出
java·开发语言·前端·javascript·css·面试·html
小poop17 小时前
基础排序算法详解——插入、选择与交换排序
算法·排序算法
青蓝智慧马老师17 小时前
想学数据分析但零基础,正确顺序不是先学 Python
大数据·人工智能·算法
jeo陽17 小时前
05-数组与冒泡排序:第一个数据结构与经典算法
c语言·数据结构·算法
桃桃乌龙_17 小时前
RAG 深度解析:让大模型学会“开卷考试“的知识外挂
人工智能·面试
鸽鸽程序猿17 小时前
【刷题册】hot21-25
算法
Keven_1117 小时前
算法札记:记忆化搜索中面对多组数据的初始化
算法