力扣面试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;
    }
}
相关推荐
程序员清风27 分钟前
程序员要在你能挣钱的时候拼命存钱!
后端·面试·程序员
课堂剪切板38 分钟前
ch07 题解
算法·深度优先
_一条咸鱼_1 小时前
Vulkan入门教程:源码级解析
android·面试·android jetpack
前端小巷子1 小时前
深入解析CSRF攻击
前端·安全·面试
每天开心1 小时前
🧙‍♂️闭包应用场景之--防抖和节流
前端·javascript·面试
DoraBigHead2 小时前
小Dora 的 JavaScript 修炼日记 · Day 1:变量三兄弟与作用域迷宫
前端·javascript·面试
科大饭桶2 小时前
数据结构自学Day5--链表知识总结
数据结构·算法·leetcode·链表·c
DoraBigHead2 小时前
this 的前世今生:谁在叫我,我听谁的
前端·javascript·面试
测试开发技术3 小时前
如何在 Pytest 中调用其他用例返回的接口参数?
面试·自动化·pytest·接口·接口测试·api测试
我爱C编程4 小时前
基于Qlearning强化学习的1DoF机械臂运动控制系统matlab仿真
算法