力扣面试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;
    }
}
相关推荐
2501_941112613 小时前
C++与Docker集成开发
开发语言·c++·算法
智者知已应修善业4 小时前
【51单片机:两边向中间流水:即两边先点亮然后熄灭,次边的点亮再熄灭,直到最中间的两个点亮再熄灭,然后重复动作。】2023-3-4
c语言·c++·经验分享·笔记·嵌入式硬件·算法·51单片机
一叶飘零_sweeeet4 小时前
2025 年 Redis 面试天花板
redis·缓存·面试
醒过来摸鱼4 小时前
9.11 傅里叶变换家族介绍
线性代数·算法·概率论
米兰小铁匠174 小时前
js深入之从原型到原型链
javascript·面试
是苏浙5 小时前
2025年11月17日力扣刷题小记
算法·刷题
@卞5 小时前
ST 表相关练习题
数据结构·c++·算法
醒过来摸鱼5 小时前
9.8 贝塞尔曲线
线性代数·算法·numpy
2501_941111525 小时前
C++中的适配器模式
开发语言·c++·算法
2501_941111945 小时前
C++中的适配器模式变体
开发语言·c++·算法