力扣面试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;
    }
}
相关推荐
动词ing13 小时前
【题目练习】全排列
算法
易小尊14 小时前
Dixon-Coles 的 τ 函数,我写错了三次
算法
hunter_07614 小时前
App 被苹果 4.3 拒绝怎么办?从官方条款到整改、沟通与申诉
面试·代码规范
十年Java程序媛14 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
ZhengEnCi14 小时前
MCP与Function Calling怎么选:大模型工具调用三种方式的面试级对比
面试·llm·mcp
BreezeJiang15 小时前
闭包和 useState 是两个知识点?你可能只学了半条作用域链
前端·面试
祥Sir的SRE笔记15 小时前
CPU 100% 不一定是故障:压测打满、业务饱和、突变打满的判断与排查
linux·面试·性能优化·dba·sre·故障定位·性能排查
凯瑟琳.奥古斯特15 小时前
力扣1015C++解法技巧
c++·算法·leetcode·链表·职场和发展
seowmt15 小时前
GEO效果该什么时候看数据:从立项到复盘的时间线复盘
算法·ip·seo·geo·faq
悠仁さん15 小时前
【算法C++】双指针(一)
数据结构·c++·算法