力扣面试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;
    }
}
相关推荐
弈栈录4 分钟前
基于 Spring Boot 构建生产级 AI 应用平台
后端·面试·架构
Omics Pro1 小时前
Cell封面|衰老生物学开源AI工具包
数据库·人工智能·算法·机器学习·自然语言处理
Moment2 小时前
如果你在做 RAG,可能会需要 pdf-inspector
前端·后端·面试
UIU1143 小时前
递归算法与汉诺塔
c++·学习·算法·c#·递归
卷福同学8 小时前
第一次当面试官有感
后端·面试
怕浪猫8 小时前
顶级模型一句话,AI 写出了能玩的 QQ飞车
前端·面试·github
呃呃呃呃ex8 小时前
9. TypeScript:从类型系统到工程实践
前端·面试
用户979984807188 小时前
200 行代码写一个能跑的 AI Agent:不依赖任何框架,只靠 tool-calling 原理
算法
threerocks8 小时前
【Muse实战】X 流量作战室搭建保姆级教程 - 拥有你自己的运营团队
算法
Blanche15009 小时前
Webpack 构建流程解析
javascript·面试