力扣面试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;
    }
}
相关推荐
urkay-19 分钟前
Android 图片轮廓提取与重叠轮廓合并处理
android·算法·iphone
七七肆十九19 分钟前
PTA 7-38 数列求和-加强版
数据结构·算法
SWAGGY..21 分钟前
【C++初阶】:(5)内存管理
java·c++·算法
Zarek枫煜34 分钟前
zig与C3的算法 -- 桶排序
c语言·嵌入式硬件·算法
青槿吖40 分钟前
第二篇:Spring Boot进阶:整合异常处理、测试、多环境与日志,开发稳得一批!
java·spring boot·后端·spring·面试·sqlserver·状态模式
Rooting++44 分钟前
C语言中的共用体应用场景
算法
We་ct1 小时前
LeetCode 4. 寻找两个正序数组的中位数:二分优化思路详解
前端·数据结构·算法·leetcode·typescript·二分
黄昏回响2 小时前
计算机系统基础知识(九):软件篇之网络协议详解
网络·网络协议·面试·改行学it
仍然.2 小时前
算法题目---位运算
算法
紫丁香2 小时前
高并发面试4
后端·面试·高并发