力扣面试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;
    }
}
相关推荐
Fox爱分享6 分钟前
字节三面:千万级订单对账,怎么保证“一分钱不错”?答不出“流式比对+缓冲池”,基本就挂了
面试·程序员·架构
薛定e的猫咪10 分钟前
【AAAI 2025】基于扩散模型的昂贵多目标贝叶斯优化
论文阅读·人工智能·算法
Fox爱分享14 分钟前
拼多多面试: 设计“砍一刀”算法,怎么防止被刷破产?90% 的人死在了“最后 0.01 元”
后端·算法·面试
NGC_661114 分钟前
归并排序算法
java·数据结构·算法
你撅嘴真丑16 分钟前
第十章-训练参考
算法
UrbanJazzerati19 分钟前
Python Web项目环境配置:从开发到生产的 `.env`文件完全指南
后端·面试
岛雨QA20 分钟前
稀疏数组和队列「Java数据结构与算法学习笔记2」
数据结构·算法
Lazy_zheng22 分钟前
一文读懂:CommonJS 和 ES Module 的本质区别
前端·面试·前端工程化
沉在嵌入式的鱼31 分钟前
温度嵌入式软件算法补偿方案及步骤
stm32·单片机·算法·温度传感器·温度补偿