力扣面试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;
    }
}
相关推荐
wubba lubba dub dub75013 小时前
第四十九周学习周报
人工智能·算法·机器学习
Java_2017_csdn13 小时前
ComplexKeysShardingAlgorithm 小结
java·大数据·算法
海梨花13 小时前
快手面试高频算法题
java·算法·面试
lqqjuly13 小时前
超分辨率算法深度解析(Super-Resolution Algorithms)
算法
Zik----14 小时前
保研面试拷打
面试·职场和发展
嵌入式老牛15 小时前
液晶段码(米/日字格)识别—倾斜校正
opencv·算法·仿射变换
luj_176815 小时前
残熵算法:风险缓冲与效率优化的融合
c语言·开发语言·网络·经验分享·算法
zzz_236815 小时前
【RabbitMQ】面试系列 · 第一期:基础认知与选型实战
分布式·面试·rabbitmq
oddsand115 小时前
pgvector 三大相似度算法
人工智能·算法·机器学习
运筹vivo@16 小时前
LeetCode 2574. 左右元素和的差值
算法·leetcode·职场和发展·每日一题