力扣面试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;
    }
}
相关推荐
geovindu5 小时前
go: Recursion Algorithm
开发语言·后端·算法·golang·递归算法
weedsfly5 小时前
前端中的适配器模式 vs 外观模式
前端·javascript·面试
咖啡八杯5 小时前
GoF设计模式——责任链模式
设计模式·面试·架构
Shadow(⊙o⊙)6 小时前
日志与线程池
linux·c++·算法
冷小鱼6 小时前
AI Agent 的核心算法:多智能体协作(Multi-Agent Systems)
前端·人工智能·算法·multi-agent·多智能体协作·systems
QN1幻化引擎6 小时前
# DalinX V8 灵鉴 V2:12维意识评测框架 —— 从 Tononi IIT 到 Friston FEP 的理论统一
数据库·人工智能·算法·机器学习·数据挖掘·agi
牧以南歌〆6 小时前
数据结构<一>顺序表
c语言·数据结构·算法
江畔柳前堤6 小时前
Go04-控制结构
大数据·人工智能·面试·职场和发展·go·业界资讯
Fairy要carry6 小时前
面试-训练显存占用估计
算法