力扣面试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;
    }
}
相关推荐
soda_yo2 分钟前
搞不懂作用域链?这篇文章让你一眼秒懂!
javascript·面试
无敌最俊朗@8 分钟前
C++ 值类别与对象模型面试题(12)
算法
沐怡旸10 分钟前
【底层机制】Ashmem匿名共享内存:原理与应用深度解析
android·面试
代码不停28 分钟前
Java模拟算法题目练习
java·开发语言·算法
前端小L1 小时前
图论专题(二):“关系”的焦点——一眼找出「星型图的中心节点」
数据结构·算法·深度优先·图论·宽度优先
资深web全栈开发1 小时前
贪心算法套路解析
算法·贪心算法·golang
~~李木子~~1 小时前
贪心算法实验2
算法·贪心算法
FanXing_zl1 小时前
快速掌握线性代数:核心概念与深度解析
线性代数·算法·机器学习
zzzsde2 小时前
【C++】红黑树:使用及实现
开发语言·c++·算法
Kuo-Teng2 小时前
LeetCode 139: Word Break
java·算法·leetcode·职场和发展·word·动态规划