力扣面试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;
    }
}
相关推荐
LJHclasstore_luo3 分钟前
【题解】WebGoC 102683.大雨过后
算法·goc编程
MrZhao4004 分钟前
Agent 如何持续工作:任务持久化、后台执行与定时唤醒
算法
用户701720739006 分钟前
密码学之分组密码
算法
MrZhao40016 分钟前
Agent 长上下文处理机制:Context Compact 与 Memory 的协同
算法
uhakadotcom23 分钟前
什么是 “无界限的列表积累” 问题
后端·面试·github
KaifuZeng24 分钟前
通信与接口协议面试八、CAN通信
单片机·嵌入式硬件·面试·通信与接口协议
何时梦醒25 分钟前
前端存储全攻略 & JavaScript this 绑定完全指南
前端·javascript·面试
h_a_o777oah26 分钟前
【动态规划】区间 DP :三层循环逻辑与模板实现细节(洛谷 P1880)
c++·算法·动态规划·acm·区间dp·化环为链·石子合并
从此以后自律31 分钟前
迪杰斯特拉
算法