力扣面试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;
    }
}
相关推荐
健忘的派大星3 小时前
需求激增800%!2025年第一硬通货:懂大模型、云计算和硬件的“前沿部署工程师”!
人工智能·算法·架构·langchain·云计算·大模型学习·大模型教程
PAK向日葵4 小时前
【C++】整数类型(Integer Types)避雷指南与正确使用姿势
c++·安全·面试
ShineWinsu9 小时前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
pp起床9 小时前
动态规划 | part05
算法·动态规划
GuangHeAI_ATing9 小时前
国密算法SSD怎么选?这3款国产固态硬盘安全又高速
算法
雨泪丶10 小时前
代码随想录算法训练营-Day34
算法
莫寒清10 小时前
ThreadLocal
java·面试
Yzzz-F10 小时前
牛客寒假算法训练营2
算法
甄心爱学习10 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
iAkuya10 小时前
(leetcode)力扣100 76数据流的中位数(堆)
算法·leetcode·职场和发展