力扣面试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;
    }
}
相关推荐
Fairy要carry6 分钟前
面试08-“生产者-消费者” 模型实现并发 Agent
python·面试
2401_8579182923 分钟前
C++中的访问者模式实战
开发语言·c++·算法
零雲26 分钟前
java面试:Spring事务失效的场景有哪些?
java·数据库·面试
elseif12330 分钟前
CSP-S提高级大纲
开发语言·数据结构·c++·笔记·算法·大纲·考纲
发现一只大呆瓜32 分钟前
React-深度拆解 React路由:从实战进阶到底层原理
前端·react.js·面试
熊猫_豆豆38 分钟前
Python 基于Dlib和OpenCV实现人脸融合算法+代码
图像处理·python·算法·人脸融合
发现一只大呆瓜1 小时前
React-手把手带你实现 Keep-Alive 效果
前端·react.js·面试
Book思议-1 小时前
【数据结构实战】双向链表:在指定位置插入数据
c语言·数据结构·算法·链表
lightqjx1 小时前
【算法】前缀和
c++·算法·leetcode·前缀和
窝子面1 小时前
LeetCode练题三:链表
算法·leetcode·链表