力扣面试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;
    }
}
相关推荐
豆瓣鸡13 小时前
算法日记 - Day10
算法
戴西软件13 小时前
戴西CAxWorks.VPG车辆工程仿真软件技术解析(上)——安全仿真体系的自动化构建
运维·网络·数据库·人工智能·算法·安全·自动化
zander25814 小时前
4. 寻找两个正序数组的中位数:用分割点代替合并
数据结构·算法
Kisorge14 小时前
【电机控制器】 基于STSPIN32G4的FOC控制
stm32·嵌入式硬件·算法
Elivs14 小时前
RMSNorm函数
人工智能·算法·机器学习
tudousisi22214 小时前
P4447 [AHOI2018初中组] 分组 题解复盘
算法
SNAKEpc1213814 小时前
OpenGL(十一)- 变换管线
c语言·c++·算法·矩阵·图形渲染
码匠许师傅16 小时前
【C++ 面试真题】 C++ 中的 static 有什么作用?
c++·面试
饼饼学习空间智能16 小时前
遥操作数据能否提升机器人自主化水平?详解模仿学习、仿真放大与Sim2Real闭环
人工智能·算法
胡萝卜术17 小时前
声明式与命令式的边界:从鉴权路由守卫到 useRef 的引用哲学
前端·javascript·面试